[![log-badge]][log] [![env_logger-badge]][env_logger] [![chrono-badge]][chrono] [![cat-debugging-badge]][cat-debugging]
使用Builder
创建一个自定义记录器配置。 每次记录都调用Local::now
,获取在本地时区的当前DateTime
,和使用DateTime::format
带上strftime::specifiers
,在最终记录中,格式化使用的时间戳。
示例:调用Builder::format
,它需要设置一个闭包函数,对每个消息文本格式化,添加时间戳,Record::level
和主体Record::args
)。
#[macro_use]
extern crate log;
extern crate chrono;
extern crate env_logger;
use std::io::Write;
use chrono::Local;
use env_logger::Builder;
use log::LevelFilter;
fn main() {
Builder::new()
.format(|buf, record| {
writeln!(buf,
"{} [{}] - {}",
Local::now().format("%Y-%m-%dT%H:%M:%S"),
record.level(),
record.args()
)
})
.filter(None, LevelFilter::Info)
.init();
warn!("warn");
info!("info");
debug!("debug");
}
stderr 输出,将包含
2017-05-22T21:57:06 [WARN] - warn
2017-05-22T21:57:06 [INFO] - info