package logger import ( "io" "os" "strconv" "sync" "time" "git.minhas.io/asara/well-goknown/config" "github.com/rs/zerolog" ) var once sync.Once var log zerolog.Logger func Get() zerolog.Logger { once.Do(func() { zerolog.TimeFieldFormat = time.RFC3339Nano logLevel, err := strconv.Atoi(config.GetConfig().LogLevel) if err != nil { logLevel = int(zerolog.InfoLevel) // default to INFO } var output io.Writer = zerolog.ConsoleWriter{ Out: os.Stdout, TimeFormat: time.RFC3339, } log = zerolog.New(output). Level(zerolog.Level(logLevel)). With(). Timestamp(). Logger() }) return log }