#log-level #log #logging #logic #across #own #different

youlog

一个可以自定义日志逻辑的日志包

3 个版本

0.1.2 2023年10月10日
0.1.1 2023年9月2日
0.1.0 2023年8月30日

#424 in 调试

每月 35 次下载

MPL-2.0 许可协议

17KB
269

youlog

一个轻量级的 Rust 的 log 面板实现。

此代码包允许为日志记录器提供自定义函数。

可能有用的情况示例

  • 需要按日志级别不同地实现日志逻辑
  • 正在使用另一个应用程序的日志记录器,例如 godot-rust
  • 现有代码包在处理日志方面过于主观

特性

  • 按日志级别设置日志函数
  • 设置适用于所有日志级别的日志函数
  • 按模块/过滤器过滤日志
  • 从环境变量(默认为 RUST_LOG)初始化过滤器

示例

use log::LevelFilter;
use youlog::Youlog;

Youlog::new()
    .global_level(LevelFilter::Info)
    .log_fn(LevelFilter::Info, |record| {
        println!("info {}", record.args().as_str().unwrap_or_default());
    })
    .raw_fn(|record| {
        println!("raw {}", record.args().as_str().unwrap_or_default());
    })
    .level("some_module", LevelFilter::Error)
    .init()
    .expect("unable to init logger");

log::info!("this is an info log!");

许可协议

MPL-2.0

env_logger 引用了过滤器实现。

依赖项

~88KB