2个不稳定版本
0.2.0 | 2020年10月2日 |
---|---|
0.1.0 | 2020年7月6日 |
#623 in 调试
13KB
109 行
Slog Kickstarter 🚀
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