oxide_spark_utils/
log_level.rs

1use log::LevelFilter;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Debug, Default, Serialize, Deserialize)]
5pub enum LogLevel {
6	Info,
7	Warn,
8	#[default]
9	Error,
10	Off,       // Disable oxide-spark logs
11	SystemOff, // Also disable system logs
12}
13
14impl LogLevel {
15	pub fn get_target(&self) -> &str {
16		match self {
17			LogLevel::SystemOff => "*",
18			_ => "main",
19		}
20	}
21}
22
23impl From<LogLevel> for LevelFilter {
24	fn from(log_level: LogLevel) -> Self {
25		match log_level {
26			LogLevel::Info => LevelFilter::Info,
27			LogLevel::Warn => LevelFilter::Warn,
28			LogLevel::Error => LevelFilter::Error,
29			LogLevel::Off | LogLevel::SystemOff => LevelFilter::Off,
30		}
31	}
32}