Merge pull request #40 from samwafgo/feat_errorlog

feat:when error happened print more log
This commit is contained in:
samwafgo
2024-11-04 10:01:43 +08:00
committed by GitHub
2 changed files with 18 additions and 6 deletions
+14 -5
View File
@@ -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",
+4 -1
View File
@@ -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("<html><head><title>服务不可用</title></head><body><center><h1>服务不可用</h1> <br><h3></h3></center></body> </html>")
w.WriteHeader(http.StatusServiceUnavailable)