krossbar-log-lib

Crates.iokrossbar-log-lib
lib.rskrossbar-log-lib
version0.5.6
sourcesrc
created_at2024-06-17 13:26:01.66652
updated_at2024-06-26 15:07:05.487125
descriptionKrossbar log lib
homepagehttps://krossbar.rs
repositoryhttps://github.com/krossbar-platform/krossbar-log
max_upload_size
id1274419
size61,332
Alexander Smoktal (alexander-smoktal)

documentation

README

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; }
        }
    }
}
Commit count: 83

cargo fmt