libobs-wrapper 9.0.4+32.0.2

A safe wrapper around libobs
use crate::enums::ObsLogLevel;

use super::ObsLogger;

#[derive(Debug)]
pub struct ConsoleLogger {
    _private: (),
}

impl Default for ConsoleLogger {
    fn default() -> Self {
        Self::new()
    }
}

impl ConsoleLogger {
    /// Creates a new `ConsoleLogger`, which either prints directly to the console. If the feature `color-logger` is enabled,
    /// output will be colorized in the console.
    pub fn new() -> Self {
        Self { _private: () }
    }
}

impl ObsLogger for ConsoleLogger {
    fn log(&mut self, level: ObsLogLevel, msg: String) {
        let level_str = format!("{:?}", level);

        #[cfg(feature = "color-logger")]
        let level_str = level.colorize(&level_str);

        println!("[{}] {}", level_str, msg);
    }
}