GlobalRecoverMiddleware.go 366 B

1234567891011121314151617
  1. package middleware
  2. import (
  3. "github.com/beego/beego/v2/server/web/context"
  4. "log"
  5. "runtime/debug"
  6. )
  7. func GlobalRecoverMiddleware(ctx *context.Context) {
  8. defer func() {
  9. if err := recover(); err != nil {
  10. log.Printf("Panic info is: %v", err)
  11. // 记录详细的错误信息到日志文件中
  12. log.Println("Stack trace:", string(debug.Stack()))
  13. }
  14. }()
  15. }