summaryrefslogtreecommitdiffstats
path: root/routers/common/middleware.go
diff options
context:
space:
mode:
Diffstat (limited to 'routers/common/middleware.go')
-rw-r--r--routers/common/middleware.go13
1 files changed, 7 insertions, 6 deletions
diff --git a/routers/common/middleware.go b/routers/common/middleware.go
index 3f535628aa..2b6343b10f 100644
--- a/routers/common/middleware.go
+++ b/routers/common/middleware.go
@@ -13,6 +13,7 @@ import (
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/process"
"code.gitea.io/gitea/modules/setting"
+ "code.gitea.io/gitea/modules/web/routing"
"github.com/chi-middleware/proxy"
"github.com/go-chi/chi/v5/middleware"
@@ -49,11 +50,10 @@ func Middlewares() []func(http.Handler) http.Handler {
handlers = append(handlers, middleware.StripSlashes)
- if !setting.DisableRouterLog && setting.RouterLogLevel != log.NONE {
- if log.GetLogger("router").GetLevel() <= setting.RouterLogLevel {
- handlers = append(handlers, LoggerHandler(setting.RouterLogLevel))
- }
+ if !setting.DisableRouterLog {
+ handlers = append(handlers, routing.NewLoggerHandler())
}
+
if setting.EnableAccessLog {
handlers = append(handlers, context.AccessLogger())
}
@@ -63,10 +63,11 @@ func Middlewares() []func(http.Handler) http.Handler {
// Why we need this? The Recovery() will try to render a beautiful
// error page for user, but the process can still panic again, and other
// middleware like session also may panic then we have to recover twice
- // and send a simple error page that should not panic any more.
+ // and send a simple error page that should not panic anymore.
defer func() {
if err := recover(); err != nil {
- combinedErr := fmt.Sprintf("PANIC: %v\n%s", err, string(log.Stack(2)))
+ routing.UpdatePanicError(req.Context(), err)
+ combinedErr := fmt.Sprintf("PANIC: %v\n%s", err, log.Stack(2))
log.Error("%v", combinedErr)
if setting.IsProd {
http.Error(resp, http.StatusText(500), 500)