libobs_wrapper\logger/
console.rs

1use crate::enums::ObsLogLevel;
2
3use super::ObsLogger;
4
5#[derive(Debug)]
6pub struct ConsoleLogger {
7    _private: (),
8}
9
10impl Default for ConsoleLogger {
11    fn default() -> Self {
12        Self::new()
13    }
14}
15
16impl ConsoleLogger {
17    /// Creates a new `ConsoleLogger`, which either prints directly to the console. If the feature `color-logger` is enabled,
18    /// output will be colorized in the console.
19    pub fn new() -> Self {
20        Self { _private: () }
21    }
22}
23
24impl ObsLogger for ConsoleLogger {
25    fn log(&mut self, level: ObsLogLevel, msg: String) {
26        let level_str = format!("{:?}", level);
27
28        #[cfg(feature = "color-logger")]
29        let level_str = level.colorize(&level_str);
30
31        println!("[{}] {}", level_str, msg);
32    }
33}