You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
552 B
34 lines
552 B
package logger
|
|
|
|
import (
|
|
"os"
|
|
"sync"
|
|
|
|
"github.com/gabehf/kanpeki/internal/cfg"
|
|
"github.com/rs/zerolog"
|
|
)
|
|
|
|
var once sync.Once
|
|
|
|
var log zerolog.Logger
|
|
|
|
func Get(cfg *cfg.Config) zerolog.Logger {
|
|
once.Do(func() {
|
|
zerolog.TimeFieldFormat = zerolog.TimeFormatUnixMs
|
|
|
|
logLevel := cfg.LogLevel
|
|
|
|
log = zerolog.New(os.Stdout).
|
|
Level(zerolog.Level(logLevel)).
|
|
With().
|
|
Timestamp().
|
|
Logger()
|
|
|
|
if os.Getenv("LOG_LEVEL") == "" {
|
|
log.Info().Msg("environment variable LOG_LEVEL unset, using default value 0 (debug)")
|
|
}
|
|
})
|
|
|
|
return log
|
|
}
|