在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)。参考资料: