Skip to content

Commit 4aecacb

Browse files
committed
feat(logger): allow setting log level dynamically via config
1 parent 2b87a94 commit 4aecacb

3 files changed

Lines changed: 21 additions & 1 deletion

File tree

cmd/rag-code-mcp/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
)
1818

1919
var (
20-
Version = "2.1.58"
20+
Version = "2.1.59"
2121
Commit = "none"
2222
Date = "24.10.2025"
2323
)

internal/daemon/run.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,12 @@ func Run(rcfg RunConfig) error {
8888
logger.InitLoggerFromEnv()
8989
}
9090

91+
// Update the logging level dynamically based on the configuration file
92+
if cfg.Logging.Level != "" {
93+
logger.Instance.SetLevel(cfg.Logging.Level)
94+
logger.Instance.Debug("Logger level set dynamically from config to: %s", cfg.Logging.Level)
95+
}
96+
9197
// ── Health Checks ──
9298
if cfg.HealthCheck.EnableOnStartup {
9399
models := []string{cfg.LLM.OllamaEmbed}

internal/logger/logger.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,20 @@ func (l *SimpleLogger) Debug(format string, args ...interface{}) {
7171
}
7272
}
7373

74+
// SetLevel dynamically updates the logging level based on string input (e.g. from config).
75+
func (l *SimpleLogger) SetLevel(level string) {
76+
switch strings.ToLower(level) {
77+
case "debug":
78+
l.level.Set(slog.LevelDebug)
79+
case "warn":
80+
l.level.Set(slog.LevelWarn)
81+
case "error":
82+
l.level.Set(slog.LevelError)
83+
default:
84+
l.level.Set(slog.LevelInfo)
85+
}
86+
}
87+
7488
// Info logs an informational message.
7589
func (l *SimpleLogger) Info(format string, args ...interface{}) {
7690
if l.level.Level() <= slog.LevelInfo {

0 commit comments

Comments
 (0)