diff --git a/pkg/logger/logger.go b/pkg/logger/logger.go index 56dc87a53..2ec872d6d 100644 --- a/pkg/logger/logger.go +++ b/pkg/logger/logger.go @@ -53,6 +53,29 @@ func init() { once.Do(func() { logger = &Logger{} }) + + // Support PICOCLAW_LOG_LEVEL environment variable + if levelStr := os.Getenv("PICOCLAW_LOG_LEVEL"); levelStr != "" { + if level, ok := parseLevel(levelStr); ok { + SetLevel(level) + } + } +} + +func parseLevel(s string) (LogLevel, bool) { + switch strings.ToUpper(s) { + case "DEBUG": + return DEBUG, true + case "INFO": + return INFO, true + case "WARN", "WARNING": + return WARN, true + case "ERROR": + return ERROR, true + case "FATAL": + return FATAL, true + } + return INFO, false } func SetLevel(level LogLevel) {