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 2021年8月31日

#288调试 分类中

Download history 1/week @ 2024-03-12 7/week @ 2024-04-02 47/week @ 2024-04-09

每月69次下载

MIT 许可协议

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 支持。

日志级别

使用logtracing直接设置级别。

过滤

要使用log添加过滤,创建一个新的结构体,实现Log::enabled,并将其他方法转发到tinylog::Logger

对于tracingtracing_subscriber已经允许您向现有层添加过滤器。

依赖项

~0–7.5MB
~51K SLoC