Files
query-orchestration/internal/serviceconfig/logger/config.go
T
Michael McGuinness 71f9802e1a Merged in feature/splitqueryrunning (pull request #57)
Split Query Running + Debugging Full Flow

* completedquerysyncrunner

* spliitinglogic

* synccomplete

* informdependents

* only push same collector

* deps

* livetesting

* foundissue

* some issues resolved

* activeupdate

* collectorupdatefixes

* fix dbquesries

* tests

* tests

* pollingdebug
2025-02-11 15:22:59 +00:00

47 lines
793 B
Go

package logger
import (
"log/slog"
"os"
)
type LogConfig struct {
Logger *slog.Logger
LogLevel string `env:"LOG_LEVEL"`
}
type ConfigProvider interface {
SetDefaultLogger()
GetLogLevel() slog.Leveler
GetLogger() *slog.Logger
PrintConfig(prefixSecret string)
}
func (b *LogConfig) GetLogger() *slog.Logger {
return b.Logger
}
func (b *LogConfig) GetLogLevel() slog.Leveler {
level := slog.LevelInfo
switch b.LogLevel {
case "DEBUG":
level = slog.LevelDebug
case "ERROR":
level = slog.LevelError
case "INFO":
level = slog.LevelInfo
case "WARN":
level = slog.LevelWarn
}
return level
}
func (b *LogConfig) SetDefaultLogger() {
b.Logger = slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{
Level: b.GetLogLevel(),
}))
slog.SetDefault(b.Logger)
}