♻️ Leverage runtime/debug to print the full stack trace info (#2183)

pull/2186/head
Andy Pan 2022-10-31 22:12:43 +08:00 committed by GitHub
parent ff4602980a
commit 24a6170323
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 7 deletions

View File

@ -22,8 +22,6 @@ type Config struct {
StackTraceHandler func(c *fiber.Ctx, e interface{})
}
var defaultStackTraceBufLen = 1024
// ConfigDefault is the default config
var ConfigDefault = Config{
Next: nil,

View File

@ -3,15 +3,13 @@ package recover
import (
"fmt"
"os"
"runtime"
"runtime/debug"
"github.com/gofiber/fiber/v2"
)
func defaultStackTraceHandler(c *fiber.Ctx, e interface{}) {
buf := make([]byte, defaultStackTraceBufLen)
buf = buf[:runtime.Stack(buf, false)]
_, _ = os.Stderr.WriteString(fmt.Sprintf("panic: %v\n%s\n", e, buf))
func defaultStackTraceHandler(_ *fiber.Ctx, e interface{}) {
_, _ = os.Stderr.WriteString(fmt.Sprintf("panic: %v\n%s\n", e, debug.Stack()))
}
// New creates a new middleware handler