#env-logger #timezone #format #logging #log-format #fmt #format-time

bin+lib env_logger_timezone_fmt

env_logger 时区格式

2 个版本

0.1.1 2024年4月25日
0.1.0 2024年4月25日

#5#env-logger

Download history 189/week @ 2024-04-22 37/week @ 2024-04-29 52/week @ 2024-05-06 18/week @ 2024-05-13 56/week @ 2024-05-20 49/week @ 2024-05-27 22/week @ 2024-06-03 42/week @ 2024-06-10 26/week @ 2024-06-17 18/week @ 2024-06-24 32/week @ 2024-07-01 21/week @ 2024-07-08 13/week @ 2024-07-15 22/week @ 2024-07-29 45/week @ 2024-08-05

每月 88 次下载
rnacos 中使用

MIT/Apache

11KB
208

日志时区格式

rust env_logger 时区格式

示例

use env_logger::{Env, TimestampPrecision};
use env_logger_timezone_fmt::{TimeZoneFormat, TimeZoneFormatEnv};
use std::sync::Arc;
use std::time::Duration;

fn main() {
    println!("hello, world!");
    // system local timezone
    //let timezone_fmt = Arc::new(TimeZoneFormatEnv::default());
    // system local timezone
    //let timezone_fmt = Arc::new(TimeZoneFormatEnv::new(None,Some(TimestampPrecision::Millis)));
    // GMT+8
    let timezone_fmt = Arc::new(TimeZoneFormatEnv::new(Some(8*60*60),Some(TimestampPrecision::Millis)));
    env_logger::Builder::from_env(Env::default().default_filter_or("info"))
        .format(move |buf, record| TimeZoneFormat::new(buf, &timezone_fmt).write(record))
        .init();
    log::info!("1");
    std::thread::sleep(Duration::from_millis(1000));
    log::info!("2");
    std::thread::sleep(Duration::from_millis(1000));
    log::info!("3");
}


GMT+8 输出

hello, world!
[2024-04-25 23:53:08.333 +08:00 INFO  env_logger_timezone_fmt] 1
[2024-04-25 23:53:09.337 +08:00 INFO  env_logger_timezone_fmt] 2
[2024-04-25 23:53:10.341 +08:00 INFO  env_logger_timezone_fmt] 3

依赖

~1.5MB
~24K SLoC