From a06088af89e8ce690ce028f29b048c12fe3aa058 Mon Sep 17 00:00:00 2001 From: euzu Date: Mon, 6 May 2024 19:04:14 +0200 Subject: [PATCH 1/3] Log level from env var M3U_FILTER_LOG --- src/main.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 14b30a108..50e808064 100644 --- a/src/main.rs +++ b/src/main.rs @@ -75,7 +75,8 @@ const VERSION: &str = env!("CARGO_PKG_VERSION"); fn main() { let args = Args::parse(); - init_logger(args.log_level.as_ref().unwrap_or(&"info".to_string())); + let default_log_level = std::env::var("M3U_FILTER_LOG").unwrap_or_else(|_| "info".to_string()); + init_logger(args.log_level.as_ref().unwrap_or(&default_log_level)); let config_path: String = args.config_path.unwrap_or(file_utils::get_default_config_path()); let config_file: String = args.config_file.unwrap_or(file_utils::get_default_config_file_path(&config_path)); From a56040e8382289a14c2d1eca7f84bdad1988e054 Mon Sep 17 00:00:00 2001 From: euzu Date: Mon, 6 May 2024 19:06:13 +0200 Subject: [PATCH 2/3] Log level from env var M3U_FILTER_LOG --- CHANGELOG.md | 1 + README.md | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12f13e941..98f0f1100 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - `secret` secret for jwt token - `userfile` optional userfile with generated userfile in format "username: password" per file, default name is user.txt in config path * Password generation argument --genpwd to generate passwords for userfile. +* Added env var ` M3U_FILTER_LOG` for log level. # v1.1.8(2024-03-06) * Fixed WebUI Option-Select diff --git a/README.md b/README.md index 1acb15b30..f30658ca4 100644 --- a/README.md +++ b/README.md @@ -796,7 +796,11 @@ Following log levels are supported: - `warn` - `error` -Use the `-l` or `-log-level` cli-argument to specify the log-level. +Use the `-l` or `--log-level` cli-argument to specify the log-level. + +The log level can be set through environment variable `M3U_FILTER_LOG`. + +Precedence has cli-argument ## 6. Web-UI From 6b8d9a8b6d39bfce8576b338fbffec74f7136764 Mon Sep 17 00:00:00 2001 From: euzu Date: Mon, 6 May 2024 19:25:46 +0200 Subject: [PATCH 3/3] Log level module support --- CHANGELOG.md | 3 ++- README.md | 4 +++- src/main.rs | 15 +++++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98f0f1100..5482a31f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,8 @@ - `secret` secret for jwt token - `userfile` optional userfile with generated userfile in format "username: password" per file, default name is user.txt in config path * Password generation argument --genpwd to generate passwords for userfile. -* Added env var ` M3U_FILTER_LOG` for log level. +* Added env var ` M3U_FILTER_LOG` for log level +* Log Level has now module support like `m3u_filter::util=error,m3u_filter::filter=debug,m3u_filter=debug` # v1.1.8(2024-03-06) * Fixed WebUI Option-Select diff --git a/README.md b/README.md index f30658ca4..371343a88 100644 --- a/README.md +++ b/README.md @@ -800,7 +800,9 @@ Use the `-l` or `--log-level` cli-argument to specify the log-level. The log level can be set through environment variable `M3U_FILTER_LOG`. -Precedence has cli-argument +Precedence has cli-argument. + +Log Level has module support like `m3u_filter::util=error,m3u_filter::filter=debug,m3u_filter=debug` ## 6. Web-UI diff --git a/src/main.rs b/src/main.rs index 50e808064..1d5d1ebfd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -148,8 +148,19 @@ fn get_log_level(log_level: &str) -> LevelFilter { fn init_logger(log_level: &str) { let mut log_builder = Builder::from_default_env(); - // Set the log level based on the parsed value - log_builder.filter_level(get_log_level(log_level)); + + if log_level.contains('=') { + let pairs: Vec<&str> = log_level.split(',').collect(); + for pair in pairs { + let kv: Vec<&str> = pair.split('=').collect(); + if kv.len() == 2 { + log_builder.filter_module(kv[0].trim(), get_log_level(kv[1].trim())); + } + } + } else { + // Set the log level based on the parsed value + log_builder.filter_level(get_log_level(log_level)); + } log_builder.init(); info!("Log Level {}", get_log_level(log_level)); }