From 5fe95bfcd9d68cb265aeb54585048e5581b459fa Mon Sep 17 00:00:00 2001 From: prplV Date: Thu, 22 May 2025 09:51:37 +0300 Subject: [PATCH] log level setitng added --- noxis-rs/.env.example | 3 ++- noxis-rs/src/options/logger.rs | 25 ++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/noxis-rs/.env.example b/noxis-rs/.env.example index aa21a94..8efbd9b 100644 --- a/noxis-rs/.env.example +++ b/noxis-rs/.env.example @@ -10,4 +10,5 @@ NOXIS_LOG_TO = "/var/log/noxis/noxis.log" NOXIS_REMOTE_SERVER_URL = "ip.ip.ip.ip:port" NOXIS_CONFIG_PATH = "./settings.json" NOXIS_METRICS_MODE = "full" -NOXIS_SOCKET_PATH = "/path/to/noxis.sock" \ No newline at end of file +NOXIS_SOCKET_PATH = "/path/to/noxis.sock" +NOXIS_MAX_LOG_LEVEL = "TRACE" \ No newline at end of file diff --git a/noxis-rs/src/options/logger.rs b/noxis-rs/src/options/logger.rs index 14cd92c..314cbf7 100644 --- a/noxis-rs/src/options/logger.rs +++ b/noxis-rs/src/options/logger.rs @@ -49,7 +49,7 @@ pub fn setup_logger() -> Result<(), crate::options::structs::CustomError> { record.args(), ) }) - .filter(None, LevelFilter::Info) + .filter(None, LevelFilter::from_env()) .target(env_logger::Target::Stdout) // temporary deprecated // .target(env_logger::Target::Pipe(log_target)) @@ -58,6 +58,29 @@ pub fn setup_logger() -> Result<(), crate::options::structs::CustomError> { Ok(()) } +trait FromEnv { + fn from_env() -> LevelFilter; +} + +impl FromEnv for LevelFilter { + fn from_env() -> LevelFilter { + return match std::env::var("NOXIS_MAX_LOG_LEVEL") { + Ok(var) => { + match var.to_ascii_lowercase().trim().as_ref() { + "trace" => LevelFilter::Trace, + "debug" => LevelFilter::Debug, + "info" => LevelFilter::Info, + "error" => LevelFilter::Error, + "warn" => LevelFilter::Warn, + "off" => LevelFilter::Off, + _ => LevelFilter::Info, + } + }, + Err(_) => LevelFilter::Info, + } + } +} + #[cfg(test)] mod logger_tests { use super::*;