Replace fmt.Printf logging calls with slog.Info/slog.Error for structured JSON output to stderr. Add internal/log package to initialize the default slog handler from the config log level. Fix .gitignore to only ignore the binary at the repo root, not the cmd/eng-pad-server directory. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
24 lines
399 B
Go
24 lines
399 B
Go
package log
|
|
|
|
import (
|
|
"log/slog"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
func Init(level string) {
|
|
var lvl slog.Level
|
|
switch strings.ToLower(level) {
|
|
case "debug":
|
|
lvl = slog.LevelDebug
|
|
case "warn":
|
|
lvl = slog.LevelWarn
|
|
case "error":
|
|
lvl = slog.LevelError
|
|
default:
|
|
lvl = slog.LevelInfo
|
|
}
|
|
handler := slog.NewJSONHandler(os.Stderr, &slog.HandlerOptions{Level: lvl})
|
|
slog.SetDefault(slog.New(handler))
|
|
}
|