Pipe Logger Lib

CI

Stores, rotates, compresses process logs.

Example

```rust extern crate pipeloggerlib;

use pipeloggerlib::*;

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::removedirall(&folder);

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

folder };

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

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

builder .settee(Some(Tee::Stdout)) .setrotate(Some(RotateMethod::FileSize(30))) // bytes .setcount(Some(10)) .setcompress(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::removedirall(test_folder).unwrap(); ```

Now, the contents of test_log_file are,

text Ops!

The contents of rotated_log_file_1 are,

text Hello world! This is a convenient logger.

The contents of rotated_log_file_2 are,

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

Crates.io

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

Documentation

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

Official CLI

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

License

MIT