#syslog #logging #logger #flexi-logger

flexi_syslog

flexi_logger的syslog写入器

11个版本

0.5.3 2024年3月3日
0.5.2 2023年3月3日
0.5.1 2022年10月14日
0.4.1 2022年1月23日
0.1.0 2021年12月19日

#286调试

Download history 50/week @ 2024-04-03 2/week @ 2024-05-29 3/week @ 2024-06-05

每月210次下载

MIT/Apache

19KB
383 代码行

Flexi-Syslog

docs crates build status

使用flexi-loggerLogWriter,将日志记录格式化和传输到syslog。

[dependencies]
flexi_logger = "0.24"
flexi_syslog = "0.5"
syslog = "6.0"

示例用法

fn main() {
    // syslog's Formatter5424 does not implement the rfc5424 timestamp correctly
    let formatter = flexi_syslog::Formatter5424 {
        facility: syslog::Facility::LOG_USER,
        hostname: None,
        process: "basic".into(),
        pid: 0,
    };

    let sys_logger = syslog::unix(formatter).expect("Failed to init unix socket");

    let syslog_writer = flexi_syslog::log_writer::Builder::default()
        .max_log_level(log::LevelFilter::Info)
        .build(sys_logger);

    let logger = flexi_logger::Logger::try_with_str("info")
        .expect("Failed to init logger")
        .log_to_writer(Box::new(syslog_writer));

    let handle = logger.start().expect("Failed to start logger");

    log::info!("Info gets through");
    log::trace!("Trace is filtered");

    handle.flush();
}

依赖关系

~2.6–8.5MB
~67K SLoC