electricity_bill_calc_service/logger/logger.go

62 lines
989 B
Go

package logger
import (
"io"
"os"
"github.com/rs/zerolog"
"github.com/samber/lo"
)
var logger *zerolog.Logger
func init() {
var writers []io.Writer
writers = append(writers, zerolog.ConsoleWriter{Out: os.Stderr})
writers = append(writers, newRollingWriter())
mw := io.MultiWriter(writers...)
logger = lo.ToPtr(zerolog.New(mw).With().Timestamp().Logger())
logger.Info().Msg("Logger initialized.")
}
func Panic() *zerolog.Event {
return logger.Panic()
}
func Fatal() *zerolog.Event {
return logger.Fatal()
}
func Error() *zerolog.Event {
return logger.Error()
}
func Warn() *zerolog.Event {
return logger.Warn()
}
func Info() *zerolog.Event {
return logger.Info()
}
func Debug() *zerolog.Event {
return logger.Debug()
}
func Trace() *zerolog.Event {
return logger.Trace()
}
func Print(v ...interface{}) {
logger.Print(v...)
}
func Printf(format string, v ...interface{}) {
logger.Printf(format, v...)
}
func With() zerolog.Context {
return logger.With()
}