9个版本 (破坏性更新)
0.7.0 | 2024年1月8日 |
---|---|
0.6.4 | 2023年11月15日 |
0.6.1 | 2023年9月19日 |
0.5.0 | 2023年5月6日 |
0.1.0 | 2021年2月5日 |
#199 在 调试
每月106次下载
36KB
934 行
tracing-logstash
我能够以绝对最小量的代码编写https://github.com/logstash/logstash-logback-encoder#standard-fields格式的跟踪消息/日志。
目前为在单个应用中使用单个日志消费者而构建。
安装
您可以将此库包含在Cargo.toml文件中
[dependencies]
tracing-logstash = "0.6.1"
用法
fn main() {
let logger = tracing_logstash::Layer::default()
.event_format(tracing_logstash::logstash::LogstashFormat::default()
.with_constants(vec![
("service.name", "tracing-logstash".to_owned()),
])
);
let env_filter = EnvFilter::try_from_default_env()
.or_else(|_| EnvFilter::try_new("info"))
.unwrap();
let collector = Registry::default().with(logger).with(env_filter);
tracing::subscriber::set_global_default(collector).unwrap();
tracing::info!("Hello, world!");
}
Logstash格式参考
https://github.com/logstash/logstash-logback-encoder#standard-fields
示例输出(来自示例应用)
{
"@version": "1",
"@timestamp": "2023-09-14T09:34:17.233512Z",
"thread_name": "tokio-runtime-worker",
"logger_name": "hyper",
"level": "INFO",
"level_value": 5,
"message": "tracing crate macro",
"some_tag": 43,
"service.name": "tracing-logstash"
}
许可证
本库根据MIT许可证分发。有关详细信息,请参阅LICENSE文件。
依赖项
~2–2.7MB
~48K SLoC