#logger #logging #log #logpeek-server

logpeek

A logger implementation for the log crate. Meant to integrate with logpeek-server.

3 unstable releases

0.2.1 May 2, 2024
0.2.0 May 2, 2024
0.1.0 Mar 5, 2024

#404 in Debugging

Download history 25/week @ 2024-09-20 3/week @ 2024-09-27

133 downloads per month

MIT/Apache

26KB
441 lines

logpeek

logpeek is a logger implementation for the log crate, which focuses on reliability and simplicity. It is meant to integrate seamlessly with logpeek-server.

  • Remote monitoring with logpeek-server. Logpeek is designed to work with logpeek-server by default, a web-based log tail explorer.

  • A drop-in replacement for existing logger implementations. If already using the log crate and it's macros, simply replace your existing logger with logpeek and you're good to go.

  • Ease of use. The logger is configured via a Config struct, although for most use cases, the default configuration will suffice.

Usage

Use cargo add logpeek log or include them in your Cargo.toml.

Initializing the logger is as simple as

use logpeek;
use log::error;

fn main() {
    // See the documentation for the config module for more options
    let config = logpeek::config::Config {
        logging_mode: logpeek::config::LoggingMode::FileAndConsole,
        datetime_format: logpeek::config::DateTimeFormat::Custom("[hour]:[minute]:[second]:[subsecond][offset_hour sign:mandatory]"), // Logpeek-server requires the UTC offset to be present. 
        ..Default::default()
    };

    logpeek::init(config).unwrap(); // For the default config use logpeek::init(Default::default()).unwrap();

    error!("This is a test error!");   
}

Dependencies

~0.8–10MB
~58K SLoC