更改 env_logger 使用的时间戳格式

Tob*_*ann 4 format logging timestamp rust

下面是最小的例子

#[macro_use]
extern crate log;
extern crate env_logger;

fn main() {
    std::env::set_var("MY_LOG_LEVEL", "info");
    env_logger::init_from_env("MY_LOG_LEVEL");
    info!("hi");
}
Run Code Online (Sandbox Code Playgroud)

输出

#[macro_use]
extern crate log;
extern crate env_logger;

fn main() {
    std::env::set_var("MY_LOG_LEVEL", "info");
    env_logger::init_from_env("MY_LOG_LEVEL");
    info!("hi");
}
Run Code Online (Sandbox Code Playgroud)

我想使用不同的格式 ( "%Y-%m-%d %H:%M:%S%.3f"):

INFO 2018-02-18T09:59:20Z: playground: hi
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这个目标?

Hux*_*uxi 10

现在可以通过env_logger = "0.10".

任何一个

env_logger::builder()
    // setting this to None disables the timestamp
    .format_timestamp(Some(env_logger::TimestampPrecision::Millis))
    .init();
Run Code Online (Sandbox Code Playgroud)

或者

env_logger::builder()
    //.format_timestamp_secs()
    .format_timestamp_millis()
    //.format_timestamp_micros()
    //.format_timestamp_nanos()
    .init();
Run Code Online (Sandbox Code Playgroud)

请参阅TimestampPrecisionformat_timestamp