Drop logrus and use zerolog for yip (#141)

This commit is contained in:
Itxaka
2023-08-08 17:58:17 +02:00
committed by GitHub
parent 9d3a6aaae1
commit 471c9782da
4 changed files with 72 additions and 794 deletions

View File

@@ -1,6 +1,7 @@
package utils
import (
"fmt"
"io"
"os"
"path/filepath"
@@ -18,6 +19,7 @@ func CloseLogFiles() {
func SetLogger() {
var loggers []io.Writer
var level zerolog.Level
_ = os.MkdirAll(constants.LogDir, os.ModeDir|os.ModePerm)
logFile, err := os.Create(filepath.Join(constants.LogDir, "immucore.log"))
if err == nil {
@@ -27,12 +29,60 @@ func SetLogger() {
loggers = append(loggers, zerolog.ConsoleWriter{Out: os.Stderr})
multi := zerolog.MultiLevelWriter(loggers...)
Log = zerolog.New(multi).With().Logger().Level(zerolog.InfoLevel)
// Set debug logger
level = zerolog.InfoLevel
// Set debug level
debug := len(ReadCMDLineArg("rd.immucore.debug")) > 0
debugFromEnv := os.Getenv("IMMUCORE_DEBUG") != ""
if debug || debugFromEnv {
Log = zerolog.New(multi).With().Caller().Logger().Level(zerolog.DebugLevel)
level = zerolog.DebugLevel
}
Log = zerolog.New(multi).With().Logger().Level(level)
}
// MiddleLog implements the bridge between zerolog and the logger.Interface that yip needs.
type MiddleLog struct {
zerolog.Logger
}
func (m MiddleLog) Infof(tpl string, args ...interface{}) {
m.Logger.Info().Msg(fmt.Sprintf(tpl, args...))
}
func (m MiddleLog) Info(args ...interface{}) {
m.Logger.Info().Msg(fmt.Sprint(args...))
}
func (m MiddleLog) Warnf(tpl string, args ...interface{}) {
m.Logger.Warn().Msg(fmt.Sprintf(tpl, args...))
}
func (m MiddleLog) Warn(args ...interface{}) {
m.Logger.Warn().Msg(fmt.Sprint(args...))
}
func (m MiddleLog) Debugf(tpl string, args ...interface{}) {
m.Logger.Debug().Msg(fmt.Sprintf(tpl, args...))
}
func (m MiddleLog) Debug(args ...interface{}) {
m.Logger.Debug().Msg(fmt.Sprint(args...))
}
func (m MiddleLog) Errorf(tpl string, args ...interface{}) {
m.Logger.Error().Msg(fmt.Sprintf(tpl, args...))
}
func (m MiddleLog) Error(args ...interface{}) {
m.Logger.Error().Msg(fmt.Sprint(args...))
}
func (m MiddleLog) Fatalf(tpl string, args ...interface{}) {
m.Logger.Fatal().Msg(fmt.Sprintf(tpl, args...))
}
func (m MiddleLog) Fatal(args ...interface{}) {
m.Logger.Fatal().Msg(fmt.Sprint(args...))
}
func (m MiddleLog) Panicf(tpl string, args ...interface{}) {
m.Logger.Panic().Msg(fmt.Sprintf(tpl, args...))
}
func (m MiddleLog) Panic(args ...interface{}) {
m.Logger.Panic().Msg(fmt.Sprint(args...))
}
func (m MiddleLog) Tracef(tpl string, args ...interface{}) {
m.Logger.Trace().Msg(fmt.Sprintf(tpl, args...))
}
func (m MiddleLog) Trace(args ...interface{}) {
m.Logger.Trace().Msg(fmt.Sprint(args...))
}