Crates.io | krossbar-log-lib |
lib.rs | krossbar-log-lib |
version | 0.5.6 |
source | src |
created_at | 2024-06-17 13:26:01.66652 |
updated_at | 2024-06-26 15:07:05.487125 |
description | Krossbar log lib |
homepage | https://krossbar.rs |
repository | https://github.com/krossbar-platform/krossbar-log |
max_upload_size | |
id | 1274419 |
size | 61,332 |
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.
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; }
}
}
}