tracing

一步到位日志工具?

background

无论哪种级别的开发, 一个日志工具是必要的, 否则,发生点儿什么事儿, 一点儿数据/配置/...的残影都没有那是真一点儿办法也没有...

goal

  • Rust 原生
  • 成熟
  • 支持多种格式/配置/定制/...
  • 文档完备, 安装流畅, 没有急转弯....

trace

install

Cargo.toml 中追加:

[dependencies]
log = "0.4"
tracing = "0.1"
clia-tracing-config = "0.2"

$ cargo check

自动安装对应 crate

fn main() -> Result<()>{

    let _guard = clia_tracing_config::build()
        .filter_level("debug")//fatal,error,warn,info,debug
        .with_ansi(true)
        .to_stdout(false)
        .directory("./log")
        .file_name("debug.log")
        .rolling("daily")
        .init();

/// ...

    Ok(())

}

在需要的场景中定义个 _guard 就完成了所有关键配置, 这是由 clia-tracing-config 实现的,

现在, 就可以在开发过程中使用

#![allow(unused)]
fn main() {
log::debug!("{}", foobar);
log::info!("{}", foobar);
log::warn!("{}", foobar);
log::error!("{}", foobar);
}

进行日志输出, 而且每天自动活动, 但是, 有自动 link , 可以使用 tail -f 一直追踪观察;

项目/
    +- Cargo.toml
    +- README.md
    +- src/
    |   +- main.rs
    +- tests/
    |   +- cli.rs
    +- log/
    |   +- debug.log -> debug.log.2023-02-25
    |   +- ...
    |   +- debug.log.2023-02-23
    |   `- debug.log.2023-02-25
    ...

refer.

各种参考

           _~∽~^~_
       \) /  ◶ →  \ (/
         '_   ⏡   _'
         > '--#--' <

...act by ferris-actor v0.2.4 (built on 23.0303.201916)

知识共享许可协议 本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可;-)