6 releases

new 0.5.6 Jun 26, 2024
0.5.5 Jun 21, 2024

#434 in Development tools

Download history 407/week @ 2024-06-17

407 downloads per month
Used in krossbar-log-viewer

MIT license

24KB
368 lines

Crates.io MIT licensed Build Status

krossbar-log-lib

Krossbar logging library

The library is used to connect to Krossbar logging service to send log messages and receive log control commands.

See Krossbar log control documentation on how to control logging.

The library uses Unix stream connection to send logging messages, which means you need running Krossbar logger to log mesage. In case service can't connect to the logger, it logs to stdout.

Also, you can use Logger manually to control whether log into stdout or send message to the logger. Both option are independent.

In case you use Krossbar logger, you have to run logging loop using Logger::run.

Examples

use std::time::Duration;

use log::*;

use krossbar_log_lib::init_logger;
use tokio::select;

#[tokio::main]
async fn main() {
    let logger = init_logger("com.examples.logging", LevelFilter::Trace, true).await;

    tokio::spawn(logger.run());

    loop {
        error!("Error message");
        warn!("Warning message");
        info!("Info message");
        debug!("Debug message");
        trace!("Trace message");

        select! {
            _ = tokio::time::sleep(Duration::from_secs(1)) => {},
            _ = tokio::signal::ctrl_c() => { return; }
        }
    }
}

Dependencies

~11–24MB
~302K SLoC