在Debian系統管理Rust日志,主要涉及日志庫選擇、依賴配置、級別控制及輸出管理,核心步驟如下:
log
(日志門面)+ env_logger
(后端實現),支持按環境變量動態控制日志級別。Cargo.toml
中添加:[dependencies]
log = "0.4"
env_logger = "0.10" # 版本可按需調整
env_logger::init()
,可自定義格式(如添加時間戳)。use log::{info, error};
use env_logger::Builder;
fn main() {
Builder::new()
.format(|buf, record| writeln!(buf, "{} [{}] {}", record.level(), record.target(), record.args()))
.init();
info!("程序啟動");
}
RUST_LOG
設置,支持全局或模塊級過濾(如RUST_LOG=my_crate=debug
)。export RUST_LOG=info # 僅輸出Info及以上級別日志
cargo run
env_logger
或切換至log4rs
等支持文件輸出的庫。// 示例:env_logger輸出到文件(需結合其他庫實現)
use std::fs::OpenOptions;
use env_logger::Builder;
fn main() {
let file = OpenOptions::new().append(true).create(true).open("app.log").unwrap();
Builder::new().target(env_logger::Target::Fd(file.into_raw_fd())).init();
}
serde
將日志轉為JSON格式,便于分析。tracing
庫支持高性能異步記錄。syslog
或journald
后端將日志接入系統監控。工具推薦:
env_logger
+終端實時查看(tail -f
)。log4rs
+文件輪轉+集中式日志系統(如ELK)。參考資料: