Crate pipe_logger_lib[−][src]
Pipe Logger Lib
Stores, rotates, compresses process logs.
Example
extern crate 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();
Now, the contents of test_log_file
are,
Ops!
The contents of rotated_log_file_1
are,
Hello world!
This is a convenient logger.
The contents of rotated_log_file_2
are,
Other logs...
Other logs...
Rotate again!
Structs
PipeLogger |
PipeLogger can help you stores, rotates and compresses logs. |
PipeLoggerBuilder |
To build a PipeLogger instance. |
Enums
PipeLoggerBuilderError | |
RotateMethod |
The way to rotate log files. |
Tee |
Read from standard input and write to standard output. |