3 个版本
0.1.2 | 2024年7月25日 |
---|---|
0.1.1 | 2024年7月23日 |
0.1.0 | 2024年1月19日 |
#131 在 调试
1,562,152 每月下载量
用于 1,783 个包 (9 个直接使用)
48KB
971 行
env_filter
使用环境变量过滤日志事件
lib.rs
:
日志记录过滤。
你可以在自己的日志记录器实现中使用 Filter
类型,使用与 env_logger
相同的过滤解析和匹配。
在自己的日志记录器中使用 env_filter
你可以在自己的日志记录器中使用 env_filter
的过滤功能。在构建日志记录器时,调用 Builder::parse
解析字符串中的指令。在接收日志记录时,调用 Filter::matches
检查记录是否应该被记录,基于解析的过滤器。
use env_filter::Filter;
use log::{Log, Metadata, Record};
struct PrintLogger;
impl Log for PrintLogger {
fn enabled(&self, metadata: &Metadata) -> bool {
true
}
fn log(&self, record: &Record) {
println!("{:?}", record);
}
fn flush(&self) {}
}
let mut builder = env_filter::Builder::new();
// Parse a directives string from an environment variable
if let Ok(ref filter) = std::env::var("MY_LOG_LEVEL") {
builder.parse(filter);
}
let logger = env_filter::FilteredLog::new(PrintLogger, builder.build());
依赖
~2.7–4MB
~67K SLoC