fix: caller location error in logs (#2367)
diff --git a/api/internal/log/zap.go b/api/internal/log/zap.go
index 1f3f44a..446dde7 100644
--- a/api/internal/log/zap.go
+++ b/api/internal/log/zap.go
@@ -43,16 +43,18 @@
func GetLogger(logType Type) *zap.SugaredLogger {
_ = zap.RegisterSink("winfile", newWinFileSink)
+ skip := 2
writeSyncer := fileWriter(logType)
encoder := getEncoder(logType)
logLevel := getLogLevel()
if logType == AccessLog {
logLevel = zapcore.InfoLevel
+ skip = 0
}
core := zapcore.NewCore(encoder, writeSyncer, logLevel)
- zapLogger := zap.New(core, zap.AddCaller(), zap.AddCallerSkip(2))
+ zapLogger := zap.New(core, zap.AddCaller(), zap.AddCallerSkip(skip))
return zapLogger.Sugar()
}
diff --git a/api/test/shell/cli_test.sh b/api/test/shell/cli_test.sh
index d41f270..56d783f 100755
--- a/api/test/shell/cli_test.sh
+++ b/api/test/shell/cli_test.sh
@@ -200,6 +200,9 @@
stop_dashboard 6
[ $(grep -c "/apisix/admin/user/login" "${ACCESS_LOG_FILE}") -ne '0' ]
+
+ # check logging middleware
+ [ $(grep -c "filter/logging.go" "${ACCESS_LOG_FILE}") -ne '0' ]
}
#8