authelia/internal/middlewares/log_request.go
James Elliott 001589cd6d
feat(metrics): implement prometheus metrics (#3234)
Adds ability to record metrics and gather them for Prometheus.
2022-06-14 17:20:13 +10:00

18 lines
435 B
Go

package middlewares
import (
"github.com/valyala/fasthttp"
)
// LogRequest provides trace logging for all requests.
func LogRequest(next fasthttp.RequestHandler) fasthttp.RequestHandler {
return func(ctx *fasthttp.RequestCtx) {
autheliaCtx := &AutheliaCtx{RequestCtx: ctx}
logger := NewRequestLogger(autheliaCtx)
logger.Trace("Request hit")
next(ctx)
logger.Tracef("Replied (status=%d)", ctx.Response.StatusCode())
}
}