use std::{error::Error, sync::Arc};
use insomnilog::{
ConsoleSink, LogLevel, PatternFormatter, log_debug, log_error, log_info, log_warn,
preallocate_thread,
};
fn main() -> Result<(), Box<dyn Error>> {
let _guard = insomnilog::start(insomnilog::BackendOptions::default())?;
let sink = Arc::new(ConsoleSink::new(
PatternFormatter::default(),
LogLevel::Trace,
));
let logger = insomnilog::create_logger("app", vec![sink], LogLevel::Trace)?;
preallocate_thread();
log_info!(logger, "application started");
log_debug!(logger, "config loaded from {}", "/etc/app/config.toml");
log_warn!(logger, "disk usage at {}%", 87.5_f64);
log_error!(logger, "connection lost to {}", "db-primary");
Ok(())
}