我在 rust 中开发了一些东西,并记录了一些错误或警告。我正在使用 systemd_journal_logger lib 来完成这项工作。在我编译并尝试使用 relase 二进制文件之前,它工作正常。由于其中不存在调试符号,因此它根本无法记录。在这种情况下有没有办法让日志工作?
我发现 shared_memory 库导致它
我有一个简单的例子
use log::LevelFilter;
fn main() {
systemd_journal_logger::init().unwrap();
log::set_max_level( LevelFilter::Debug);
log::warn!("A warning.");
log::error!("An error");
}
在我的Cargo.toml我有
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
log = "=0.4.14"
systemd-journal-logger = "=0.3.1"
运行它
cargo run
./target/debug/mytest
甚至
./target/release/mytest
完美地看着杂志
journalctl -f
但如果我包括
shared_memory = "0.12.2"
作为依赖
cargo build --release
./target/release/mytest
停止工作