#logging #setup #structured #log #json-logging

slog-kickstarter

轻松设置slog日志生态系统构建器

2个不稳定版本

0.2.0 2020年10月2日
0.1.0 2020年7月6日

#623 in 调试

MIT/Apache

13KB
109

Rust build crates.io badge docs.rs badge

Slog Kickstarter 🚀

Builder用于轻松设置slog

Slog确实很棒,但要利用其功能和灵活性,需要比导入模块和调用函数更多的设置(确切地说,需要大约163行代码 ;))。

结构化日志记录很棒。您不应该推迟引入日志记录,而应该从一开始就将其集成,因为重构slog可能需要大量的更改。这就是Slog Kickstarter发挥作用的地方。

特性

  • 通过环境变量(RUST_LOG_JSON=1)在JSON日志记录和(压缩的)终端输出之间切换
  • 每个模块的调试级别(通过with_debug_log_for())——即启用您自己的模块的调试,但忽略第三方crate的调试日志
  • 通过RUST_LOG=进行日志配置,如env_logger中所示(由slog-envlogger实现),所有配置都是预设置的
  • 默认支持log(除非显式禁用)

用法

请参阅basic.rs以获取运行示例,以及full.rs以获取所有功能。

use slog::{o, slog_info};
use slog_kickstarter::SlogKickstarter;

fn main() {
    // initialize a root logger
    let root_logger = SlogKickstarter::new("logging-example").init();

    // slog supports string formatting, and additional structured fields
    slog_info!(root_logger, "Hello World!"; o!("type" => "example"));
}

依赖项

~5–15MB
~166K SLoC