pqkem: dedicated slog logger via NB_PQ_MLKEM_LOG_LEVEL

This commit is contained in:
riccardom
2026-08-03 12:48:47 +02:00
parent f984543e9e
commit 77e1255cb3
2 changed files with 26 additions and 1 deletions
+25
View File
@@ -1,6 +1,7 @@
package pqkem
import (
"log/slog"
"os"
"strconv"
"strings"
@@ -32,3 +33,27 @@ func Enabled() bool {
}
return enabled
}
// EnvLogLevel overrides the ML-KEM manager's slog level (debug/info/warn/error).
// Defaults to info.
const EnvLogLevel = "NB_PQ_MLKEM_LOG_LEVEL"
// NewLogger builds the slog logger for the ML-KEM manager: a text handler to stdout
// at the level from EnvLogLevel. Mirrors the Rosenpass manager's logger setup so PQ
// components log consistently.
func NewLogger() *slog.Logger {
return slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: logLevel()}))
}
func logLevel() slog.Level {
switch strings.ToLower(strings.TrimSpace(os.Getenv(EnvLogLevel))) {
case "debug":
return slog.LevelDebug
case "warn":
return slog.LevelWarn
case "error":
return slog.LevelError
default:
return slog.LevelInfo
}
}