8 个版本
0.1.8 | 2021年2月2日 |
---|---|
0.1.7 | 2021年2月2日 |
0.1.6 | 2021年1月30日 |
0.1.3 | 2020年3月1日 |
0.1.0 | 2019年6月30日 |
#416 in 调试
11KB
209 代码行
structlog
如果您想在日志消息中包含有用的信息,但又不想使用冗长的文本来连接所有部分,这个crate可能会帮到您。它不会帮助您使消息变得有用,也不会是向某个系统发送消息最快的方法。这些消息的主要输出是一个仅包含给日志记录器的键和值的JSON序列化结构。
目前这个crate正在构建中,用于我的另一个项目,所以随着需要会进行更新和扩展。欢迎并鼓励贡献。请参阅贡献指南了解您如何提供帮助。
当前使用选项
您创建一个实现Display
的Event
来输出JSON以方便使用。在创建事件时,会添加一些有用的字段,例如创建时间戳和调用者位置。创建事件可以是使用Event::from_str()
等:
// By default the event will be created with a level/severity of INFO.
let test_event = Event::from_str("some event");
// To make it another level you can do: -
let mut test_event_error = Event::from_str("something bad happened");
test_event_error.error();
或者您可以使用:
let mut test_event = Event::new();
test_event.add_field(
String::from("message"),
String::from("some useful message"),
);
如果您使用println!("{}", test_event)
,您将看到类似的内容:
{"attributes":{"message":"Some useful message"},"created":"2021-02-02T20:04:06.949823Z","level":"INFO","severity":"INFO","caller":"tests/integration_tests.rs:5:18"}
依赖项
~1.6–2.6MB
~51K SLoC