Files
ReSendit/internal/logger/logger.go

41 lines
700 B
Go

package logger
import (
"os"
"time"
"github.com/rs/zerolog"
)
var Log zerolog.Logger
func init() {
output := os.Stderr
logFormat := os.Getenv("LOG_FORMAT")
if logFormat == "json" {
Log = zerolog.New(output).With().Timestamp().Logger()
} else {
Log = zerolog.New(zerolog.ConsoleWriter{
Out: output,
TimeFormat: time.RFC3339,
}).With().Timestamp().Logger()
}
level := os.Getenv("LOG_LEVEL")
switch level {
case "debug":
Log = Log.Level(zerolog.DebugLevel)
case "warn":
Log = Log.Level(zerolog.WarnLevel)
case "error":
Log = Log.Level(zerolog.ErrorLevel)
default:
Log = Log.Level(zerolog.InfoLevel)
}
}
func With() zerolog.Context {
return Log.With()
}