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
30KB
512 行
Pipe Logger Lib
存储、轮换、压缩进程日志。
示例
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
许可证
依赖
~4–12MB
~110K SLoC