fix(logger): sync instance level to prevent nil event

Explicitly set the level on the logger instance to ensure a valid event is returned, even when the global level is higher than currentLevel.
This commit is contained in:
dtapps 2026-03-31 13:52:06 +08:00
parent c36b06a901
commit 29a3390392

View file

@ -286,19 +286,20 @@ func getCallerSkip() (int, string) {
//nolint:zerologlint //nolint:zerologlint
func getEvent(logger zerolog.Logger, level LogLevel) *zerolog.Event { func getEvent(logger zerolog.Logger, level LogLevel) *zerolog.Event {
l := logger.Level(zerolog.DebugLevel)
switch level { switch level {
case zerolog.DebugLevel: case zerolog.DebugLevel:
return logger.Debug() return l.Debug()
case zerolog.InfoLevel: case zerolog.InfoLevel:
return logger.Info() return l.Info()
case zerolog.WarnLevel: case zerolog.WarnLevel:
return logger.Warn() return l.Warn()
case zerolog.ErrorLevel: case zerolog.ErrorLevel:
return logger.Error() return l.Error()
case zerolog.FatalLevel: case zerolog.FatalLevel:
return logger.Fatal() return l.Fatal()
default: default:
return logger.Info() return l.Info()
} }
} }