gologger/gologger.go

38 lines
564 B
Go
Raw Normal View History

2023-08-03 17:45:40 +00:00
package gologger
import (
"io"
"os"
"sync"
"time"
"github.com/rs/zerolog"
)
var once sync.Once
2023-08-03 21:26:17 +00:00
var log zerolog.Logger
2023-08-03 21:33:34 +00:00
func Get(l string) zerolog.Logger {
2023-08-03 17:45:40 +00:00
once.Do(func() {
zerolog.TimeFieldFormat = time.RFC3339Nano
var output io.Writer = zerolog.ConsoleWriter{
Out: os.Stdout,
TimeFormat: time.RFC3339,
}
2023-08-03 19:52:57 +00:00
level, err := zerolog.ParseLevel(l)
if err != nil {
panic("unable to get parse level for logger")
}
2023-08-03 17:45:40 +00:00
2023-08-03 21:26:17 +00:00
log = zerolog.New(output).
2023-08-03 19:50:55 +00:00
Level(zerolog.Level(level)).
2023-08-03 17:45:40 +00:00
With().
Timestamp().
Logger()
})
return log
}