sloggers/
null.rs

1//! Null logger.
2use crate::{Build, Config, Result};
3use serde::{Deserialize, Serialize};
4use slog::{Discard, Logger};
5
6/// Null logger builder.
7///
8/// This will create a logger which discards all log records.
9#[derive(Debug)]
10pub struct NullLoggerBuilder;
11impl Build for NullLoggerBuilder {
12    fn build(&self) -> Result<Logger> {
13        let logger = Logger::root(Discard, o!());
14        Ok(logger)
15    }
16}
17
18/// The configuration of `NullLoggerBuilder`.
19#[derive(Debug, Clone, Serialize, Deserialize)]
20pub struct NullLoggerConfig {}
21impl Config for NullLoggerConfig {
22    type Builder = NullLoggerBuilder;
23    fn try_to_builder(&self) -> Result<Self::Builder> {
24        Ok(NullLoggerBuilder)
25    }
26}