mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-20 12:42:34 +02:00
48 lines
1.1 KiB
Go
48 lines
1.1 KiB
Go
package gperr
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/rs/zerolog"
|
|
"github.com/yusing/go-proxy/internal/common"
|
|
"github.com/yusing/go-proxy/internal/logging"
|
|
)
|
|
|
|
func log(msg string, err error, level zerolog.Level, logger ...*zerolog.Logger) {
|
|
var l *zerolog.Logger
|
|
if len(logger) > 0 {
|
|
l = logger[0]
|
|
} else {
|
|
l = logging.GetLogger()
|
|
}
|
|
l.WithLevel(level).Msg(New(highlight(msg)).With(err).Error())
|
|
switch level {
|
|
case zerolog.FatalLevel:
|
|
os.Exit(1)
|
|
case zerolog.PanicLevel:
|
|
panic(err)
|
|
}
|
|
}
|
|
|
|
func LogFatal(msg string, err error, logger ...*zerolog.Logger) {
|
|
if common.IsDebug {
|
|
LogPanic(msg, err, logger...)
|
|
}
|
|
log(msg, err, zerolog.FatalLevel, logger...)
|
|
}
|
|
|
|
func LogError(msg string, err error, logger ...*zerolog.Logger) {
|
|
log(msg, err, zerolog.ErrorLevel, logger...)
|
|
}
|
|
|
|
func LogWarn(msg string, err error, logger ...*zerolog.Logger) {
|
|
log(msg, err, zerolog.WarnLevel, logger...)
|
|
}
|
|
|
|
func LogPanic(msg string, err error, logger ...*zerolog.Logger) {
|
|
log(msg, err, zerolog.PanicLevel, logger...)
|
|
}
|
|
|
|
func LogDebug(msg string, err error, logger ...*zerolog.Logger) {
|
|
log(msg, err, zerolog.DebugLevel, logger...)
|
|
}
|