9 个稳定版本 (3 个主要版本)
4.0.1 | 2023年5月4日 |
---|---|
4.0.0 | 2022年9月26日 |
3.0.0 | 2022年1月21日 |
2.0.1 | 2021年10月19日 |
1.1.0 |
|
#288 在 调试 分类中
每月69次下载
20KB
507 行
tinylog
我个人项目的日志记录器。主要版本可能会随时增加。
目标
- 快速
- 在写入输出之前先写入线程局部字符串。这样,所有逻辑都可以在锁之前发生,从而在多线程场景中节省时间。
- 尽可能避免使用
dyn
。 - 尽可能避免使用
std::fmt::Formatter
。它使用dyn
,并且每次写入都会产生一个Result
。
- 最小化
- 只有在无法不使用它产生相同行为时才提供配置。
- 默认配置应该适用于大多数场景。
- 避免依赖膨胀。如果可能,使它们可选,并禁用它们的默认功能。
- 美观
- 使用颜色。
- 以人类友好的格式打印事物。
lib.rs
:
配置
可以在 Logger
上配置输出、颜色和时区。
功能
detect-color
- 自动检测终端颜色支持。detect-timezone
- 如果启用了timestamps
,则将自动检测并使用本地时区。log
- 启用 [log
] 支持。parking_lot
- 内部使用parking_lot
。timestamps
- 启用时间戳。tracing
- 启用tracing
支持。
日志级别
使用log
或tracing
直接设置级别。
过滤
要使用log
添加过滤,创建一个新的结构体,实现Log::enabled
,并将其他方法转发到tinylog::Logger
。
对于tracing
,tracing_subscriber
已经允许您向现有层添加过滤器。
依赖项
~0–7.5MB
~51K SLoC