daemon_base/
logging.rs

1//! Logging functionality for the daemon library.
2//!
3//! This module provides utilities for configuring and using logging in the daemon.
4
5use log::{LevelFilter, SetLoggerError};
6use log4rs::append::console::ConsoleAppender;
7use log4rs::config::{Appender, Config, Root};
8use log4rs::encode::pattern::PatternEncoder;
9
10/// Initializes logging for the daemon.
11pub fn init_logging() -> Result<(), SetLoggerError> {
12    let stdout = ConsoleAppender::builder()
13        .encoder(Box::new(PatternEncoder::new("{d} {l} - {m}{n}")))
14        .build();
15
16    let config = Config::builder()
17        .appender(Appender::builder().build("stdout", Box::new(stdout)))
18        .build(Root::builder().appender("stdout").build(LevelFilter::Info))
19        .unwrap();
20
21    log4rs::init_config(config)?;
22    Ok(())
23}