22个稳定版本

1.1.17 2023年9月9日
1.1.16 2023年6月29日
1.1.15 2022年11月3日
1.1.14 2022年3月18日
1.1.5 2018年11月14日

#478 in 调试


用于 pipe-logger

MIT 许可证

30KB
512

Pipe Logger Lib

CI

存储、轮换、压缩进程日志。

示例

use pipe_logger_lib::*;

use std::fs;
use std::path::Path;

let test_folder = {
  let folder = Path::join(&Path::join(Path::new("tests"), Path::new("out")), "log-example");

  fs::remove_dir_all(&folder);

  fs::create_dir_all(&folder).unwrap();

  folder
};

let test_log_file = Path::join(&test_folder, Path::new("mylog.txt"));

let mut builder = PipeLoggerBuilder::new(&test_log_file);

builder
    .set_tee(Some(Tee::Stdout))
    .set_rotate(Some(RotateMethod::FileSize(30))) // bytes
    .set_count(Some(10))
    .set_compress(false);

{
    let mut logger = builder.build().unwrap();

    logger.write_line("Hello world!").unwrap();

    let rotated_log_file_1 = logger.write_line("This is a convenient logger.").unwrap().unwrap();

    logger.write_line("Other logs...").unwrap();
    logger.write_line("Other logs...").unwrap();

    let rotated_log_file_2 = logger.write_line("Rotate again!").unwrap().unwrap();

    logger.write_line("Ops!").unwrap();
}

fs::remove_dir_all(test_folder).unwrap();

现在,test_log_file的内容是:

Ops!

rotated_log_file_1的内容是:

Hello world!
This is a convenient logger.

rotated_log_file_2的内容是:

Other logs...
Other logs...
Rotate again!

Crates.io

https://crates.io/crates/pipe-logger-lib

文档

https://docs.rs/pipe-logger-lib

官方CLI

https://crates.io/crates/pipe-logger

许可证

MIT

依赖

~4–12MB
~110K SLoC