4个版本
0.1.5 | 2024年5月23日 |
---|---|
0.1.4 | 2024年5月23日 |
0.1.3 | 2024年5月21日 |
0.1.1 | 2024年5月20日 |
0.1.0 |
|
#167 in 调试
1,573 每月下载量
用于 53 个 crate (直接使用2个)
10KB
166 代码行
tracing-shared-rs
在dylib/cdylib和主二进制文件之间共享日志记录器
用法
[dependencies]
tracing-shared = "0.1"
检出示例示例/example.rs
cdylib的情况
fn main() {
let dylib = unsafe { libloading::Library::new(dylib) }.expect("error loading dylib");
let setup_logger: FnSetupLogger = unsafe { *dylib.get(b"setup_shared_logger_ref").unwrap() };
let run: FnRun = unsafe { *dylib.get(b"run").unwrap() };
let logger = SharedLogger::new();
setup_logger(&logger);
run("cdylib")
}
cdylib的情况
use tracing_shared::SharedLogger;
fn main() {
let dylib = unsafe { libloading::Library::new(dylib) }.expect("error loading dylib");
let setup_logger: FnSetupLogger = unsafe { *dylib.get(b"setup_shared_logger_ref").unwrap() };
let run: FnRun = unsafe { *dylib.get(b"run").unwrap() };
let logger = SharedLogger::new();
setup_logger(&logger);
run("cdylib")
}
dylib的情况
use tracing_shared::SharedLogger;
fn main() {
let logger = SharedLogger::new();
example_lib::setup_shared_logger_ref(&logger);
example_lib::run("dylib");
}
依赖
~0.4–6.5MB
~29K SLoC