mirror of
https://github.com/gin-gonic/gin.git
synced 2026-07-08 11:41:09 +08:00
fix(recovery): make recovery value printable
This commit is contained in:
parent
6e9ce37efc
commit
4732fa7767
@ -62,6 +62,8 @@ func CustomRecoveryWithWriter(out io.Writer, handle RecoveryFunc) HandlerFunc {
|
|||||||
err, ok := rec.(error)
|
err, ok := rec.(error)
|
||||||
if ok {
|
if ok {
|
||||||
isBrokenPipeOrConnReset = errors.Is(err, syscall.EPIPE) || errors.Is(err, syscall.ECONNRESET)
|
isBrokenPipeOrConnReset = errors.Is(err, syscall.EPIPE) || errors.Is(err, syscall.ECONNRESET)
|
||||||
|
} else {
|
||||||
|
err = fmt.Errorf("%v", rec)
|
||||||
}
|
}
|
||||||
if logger != nil {
|
if logger != nil {
|
||||||
stack := stack(3)
|
stack := stack(3)
|
||||||
@ -75,13 +77,13 @@ func CustomRecoveryWithWriter(out io.Writer, handle RecoveryFunc) HandlerFunc {
|
|||||||
}
|
}
|
||||||
headersToStr := strings.Join(headers, "\r\n")
|
headersToStr := strings.Join(headers, "\r\n")
|
||||||
if isBrokenPipeOrConnReset {
|
if isBrokenPipeOrConnReset {
|
||||||
logger.Printf("%s\n%s%s", rec, headersToStr, reset)
|
logger.Printf("%s\n%s%s", err, headersToStr, reset)
|
||||||
} else if IsDebugging() {
|
} else if IsDebugging() {
|
||||||
logger.Printf("[Recovery] %s panic recovered:\n%s\n%s\n%s%s",
|
logger.Printf("[Recovery] %s panic recovered:\n%s\n%s\n%s%s",
|
||||||
timeFormat(time.Now()), headersToStr, rec, stack, reset)
|
timeFormat(time.Now()), headersToStr, err, stack, reset)
|
||||||
} else {
|
} else {
|
||||||
logger.Printf("[Recovery] %s panic recovered:\n%s\n%s%s",
|
logger.Printf("[Recovery] %s panic recovered:\n%s\n%s%s",
|
||||||
timeFormat(time.Now()), rec, stack, reset)
|
timeFormat(time.Now()), err, stack, reset)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if isBrokenPipeOrConnReset {
|
if isBrokenPipeOrConnReset {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user