core_concepts/
core_concepts.rs1use std::{error::Error, sync::Arc};
4
5use insomnilog::{
6 BackendOptions, ConsoleSink, LogLevel, PatternFormatter, create_logger, log_info,
7 register_sink, start,
8};
9
10fn main() -> Result<(), Box<dyn Error>> {
11 let _guard = start(BackendOptions::default())?;
13 let sink: Arc<dyn insomnilog::Sink> = Arc::new(ConsoleSink::new(
17 PatternFormatter::default(),
18 LogLevel::Trace,
19 ));
20 register_sink("console", Arc::clone(&sink))?;
21 let logger = create_logger("app", vec![Arc::clone(&sink)], LogLevel::Info)?;
25
26 log_info!(logger, "server started on port {}", 8080_u16);
27 Ok(())
30}