From 1ae97cd85aec95f6270f853b28e48774cefc6bf6 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Mon, 26 Jan 2026 16:17:55 +0000 Subject: feat: add NGIT_LOG_LEVEL configuration option Add proper log level configuration following standard approach: - CLI flag: --log-level - Environment variable: NGIT_LOG_LEVEL - Default: info - Supports simple levels (error, warn, info, debug, trace) - Supports filter expressions (e.g., ngit_grasp=debug,actix_web=info) Configuration is now consistent across all four sources: 1. src/config.rs - Config struct with log_level field 2. docs/reference/configuration.md - Full documentation 3. nix/module.nix - NixOS module with logLevel option 4. .env.example - Example configuration file This replaces the previous RUST_LOG approach with proper integration into the ngit-grasp configuration system, enabling trace logging from CLI, environment variables, or NixOS configuration. --- src/config.rs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/config.rs') diff --git a/src/config.rs b/src/config.rs index 271a340..df7a7ef 100644 --- a/src/config.rs +++ b/src/config.rs @@ -500,6 +500,10 @@ pub struct Config { /// Prevents connection exhaustion DoS attacks #[arg(long, env = "NGIT_MAX_CONNECTIONS", default_value_t = 4096)] pub max_connections: usize, + + /// Log level for application logging + #[arg(long, env = "NGIT_LOG_LEVEL", default_value = "info")] + pub log_level: String, } impl Config { @@ -782,6 +786,7 @@ impl Config { repository_blacklist: String::new(), event_blacklist: String::new(), max_connections: 500, + log_level: "debug".to_string(), } } } -- cgit v1.2.3