1 个不稳定版本
0.1.0 | 2022年5月3日 |
---|
#822 in 调试
22KB
184 代码行
slg_prometheus - 日志指标
为什么?
很多次,使用tracing生态系统是一个非常好的选择。但有时,我有一小块软件,它只做简单的日志记录,而作为一个有责任感的开发者,它应该被监控。所以我给它一些指标。
这个库试图添加一些关于已记录内容的简单指标,使其更容易对所有日志错误进行捕获警报。
如何?
let drain = slog_prometheus::MonitoringDrainBuilder::new(drain)
.build()
.expect("Failed configuring setting up prometheus")
.fuse();
如果您遇到任何问题或对功能感兴趣,请随时提交问题。
lib.rs
:
记录记录的消息的Prometheus度量指标。
使用MonitoringDrainBuilder配置一个drain,将其放在slog drain堆栈的合适位置。
use slog::{info, Drain};
let decorator = slog_term::TermDecorator::new().build();
let drain = slog_term::FullFormat::new(decorator).build().fuse();
let drain = slog_async::Async::new(drain).build();
let drain = slog_prometheus::MonitoringDrainBuilder::new(drain)
.build()
.expect("Failed configuring setting up prometheus")
.fuse();
let drain = slog::LevelFilter::new(drain, slog::Level::Info).fuse();
let logger = slog::Logger::root(drain, slog::o!());
info!(logger, "Finished setting up!");
依赖关系
~2.7–8MB
~73K SLoC