ToB企服应用市场:ToB评测及商务社交产业平台
标题:
rust库学习-env_logger
[打印本页]
作者:
缠丝猫
时间:
2022-8-29 19:17
标题:
rust库学习-env_logger
介绍
env_logger 配合 log 库使用,
log 是rust日志库的外观库,给日志库提供抽象的记录接口,
log使用宏,如info!() trace!()记录日志
假如需要替换当前使用的日志库,只需将初始化相关的代码和toml文件修改
env_logger 通过配置环境变量中 RUST_LOG 实现日志过滤
实践
Cargo.toml
[dependencies]
log = "0.4"
env_logger = "0.9"
复制代码
main.rs
use std::env::set_var;
use log::{debug, error, log_enabled, info, Level};
fn main() {
set_var("RUST_LOG", "debug");
env_logger.init();
//env_logger::builder().format_timestamp(None).init();
debug!("this is a debug {}", "message");
error!("this is printed by default");
if log_enabled!(Level::Info) {
let x = 3 * 4; // expensive computation
info!("the answer was: {}", x);
}
}
复制代码
过滤规则
set_var 配置环境变量 RUST_LOG 的过滤规则
过滤日志等级(debug,error...)
set_var("RUST_LOG", "debug");
过滤哪个文件的日志(工程名::模块::文件名=level),
.\baseframe\
|-- Cargo.lock
|-- Cargo.toml
|-- diesel.toml
`-- src
|-- main.rs
`-- module
|-- mod.rs
`-- test.rs
复制代码
打印test文件输出的所有等级的日志
set_var("RUST_LOG", "baseframe::module::test");
打印全局 error 日志和 test 中 info 等级以上的日志
set_var("RUST_LOG", "error,baseframe::module::test=info");
正则表达式过滤日志
set_var("RUST_LOG", "/正则表达式");
打印包含"include"的日志
set_var("RUST_LOG", /include");
过滤全局 error 日志和 test 中 info 等级以上的日志,打印包含include的日志
set_var("RUST_LOG", "error,baseframe::module::test=info/include");
自定义输出格式
官方文档
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4