From 8e7f061231db2af0d36acabf9bc0f190bfcb8904 Mon Sep 17 00:00:00 2001 From: samwaf Date: Mon, 4 Nov 2024 09:59:55 +0800 Subject: [PATCH] feat:when error happened print more log --- common/zlog/zlog.go | 19 ++++++++++++++----- wafenginecore/wafengine.go | 5 ++++- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/common/zlog/zlog.go b/common/zlog/zlog.go index f7e351a..1ac36e6 100644 --- a/common/zlog/zlog.go +++ b/common/zlog/zlog.go @@ -48,12 +48,21 @@ func InitZLog(releaseFlag string) { } func getFileLogWriter() (writeSyncer zapcore.WriteSyncer) { - exePath, err := os.Executable() - if err != nil { - fmt.Println("Failed to get executable path:", err) + exeDir := "" + // 检测环境变量是否存在 + envVar := "SamWafIDE" + if value, exists := os.LookupEnv(envVar); exists { + fmt.Println("当前在IDE,环境变量" + value) + exeDir = "." + } else { + exePath, err := os.Executable() + if err != nil { + fmt.Errorf(err.Error()) + exeDir = "" + } else { + exeDir = filepath.Dir(exePath) + } } - - exeDir := filepath.Dir(exePath) // 使用 lumberjack 实现 log rotate lumberJackLogger := &lumberjack.Logger{ Filename: exeDir + "/logs/log.log", diff --git a/wafenginecore/wafengine.go b/wafenginecore/wafengine.go index c0ec598..16cf0a5 100644 --- a/wafenginecore/wafengine.go +++ b/wafenginecore/wafengine.go @@ -527,7 +527,10 @@ func EchoErrorInfo(w http.ResponseWriter, r *http.Request, weblogbean innerbean. } func (waf *WafEngine) errorResponse() func(http.ResponseWriter, *http.Request, error) { return func(w http.ResponseWriter, req *http.Request, err error) { - zlog.Error("服务不可用 response:", zap.Any("err", err.Error())) + + requestInfo := fmt.Sprintf("Method: %s, URL: %s, Headers: %v", req.Method, req.URL.String(), req.Header) + zlog.Error("服务不可用 response:", zap.Any("err", err.Error()), zap.String("request_info", requestInfo)) + resBytes := []byte("服务不可用

服务不可用


") w.WriteHeader(http.StatusServiceUnavailable)