#logger #logging #log #logpeek-server

logpeek

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

1 unstable release

0.1.0 Mar 5, 2024

#321 in Debugging

32 downloads per month

MIT/Apache

26KB
435 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

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

[dependencies]
logpeek = "0.1.0"
log = "0.4.20"

Initializing the logger is as simple as

use logpeek;
use log::error;

// 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–9.5MB
~68K SLoC