11 个不稳定版本 (4 个破坏性更新)
| 0.5.0 | 2021 年 2 月 4 日 | 
|---|---|
| 0.4.1 | 2021 年 1 月 7 日 | 
| 0.3.2 | 2020 年 3 月 16 日 | 
| 0.2.2 | 2020 年 3 月 13 日 | 
| 0.1.1 | 2020 年 3 月 12 日 | 
#215 在 值格式化
每月 40 次下载
33KB
140 代码行
Rust 的键值日志记录器

用法
与其他日志记录器一样,kvlogger 必须在您的程序中初始化并注册为默认日志处理程序。然后,您可以使用常规的日志宏(不处理键值对),或者使用 kvlog! 宏并添加您的数据。
任何实现了 Display 的类型都可以用作值。
use std::error::Error;
use log::*;
use kvlogger::{KvLoggerBuilder, *};
fn main() -> Result<(), Box<dyn Error>> {
  KvLoggerBuilder::default()
    .set_level(Level::Debug)
    .set_datetime_format("%Y-%m-%d")
    .init()?;
  info!("a simple message");
  kvlog!(Info, "user tried to log in", {
    "username" => "apognu",
    "status" => 200
  });
  Ok(())
}
配置
kvlogger 在内部使用 env_logger 来进行过滤器选择。您有两种方法来配置所需日志级别
- 您可以使用 KvLoggerBuilder的set_level(mut self, log::Level)方法强制日志记录器在特定级别
KvLoggerBuilder::default()
  .set_level(Level::Debug)
  .init()?;
- 否则,您可以使用 RUST_LOG环境变量来指定应考虑哪些日志。有关更多信息,请参阅 env_logger 文档。
$ RUST_LOG=rocket=error,main=info cargo run
- 如果使用 datetime功能(见下文),您可以使用set_datetime_format(mut self, Into<String>方法
KvLoggerBuilder::default()
  .set_datetime_format("%Y-%m-%d")
  .init()?;
可选功能
默认情况下,使用的时间是从 UNIX 纪元以来的毫秒数。您可以通过在 Cargo.toml 中启用 datetime 功能来选择更复杂(且可读性更强)的格式
[dependencies]
kvlogger = { version = "*", features = ["datetime"] }
示例
$ cargo run --example simple
$ cargo run --example simple --features datetime
$ RUST_LOG=simple=trace cargo run --example simple --features datetime
依赖项
~4–14MB
~139K SLoC