mirror of
https://github.com/teamhanko/hanko.git
synced 2025-10-28 06:37:57 +08:00
feat: add hanko logger middleware to reduce redundancy
This commit is contained in:
@ -6,6 +6,7 @@ import (
|
|||||||
"github.com/teamhanko/hanko/dto"
|
"github.com/teamhanko/hanko/dto"
|
||||||
handler "github.com/teamhanko/hanko/handler"
|
handler "github.com/teamhanko/hanko/handler"
|
||||||
"github.com/teamhanko/hanko/persistence"
|
"github.com/teamhanko/hanko/persistence"
|
||||||
|
hankoMiddleware "github.com/teamhanko/hanko/server/middleware"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewPrivateRouter(persister persistence.Persister) *echo.Echo {
|
func NewPrivateRouter(persister persistence.Persister) *echo.Echo {
|
||||||
@ -13,12 +14,7 @@ func NewPrivateRouter(persister persistence.Persister) *echo.Echo {
|
|||||||
e.HideBanner = true
|
e.HideBanner = true
|
||||||
|
|
||||||
e.Use(middleware.RequestID())
|
e.Use(middleware.RequestID())
|
||||||
e.Use(middleware.LoggerWithConfig(middleware.LoggerConfig{
|
e.Use(hankoMiddleware.GetLoggerMiddleware())
|
||||||
Format: `{"time":"${time_rfc3339_nano}","time_unix":"${time_unix}","id":"${id}","remote_ip":"${remote_ip}",` +
|
|
||||||
`"host":"${host}","method":"${method}","uri":"${uri}","user_agent":"${user_agent}",` +
|
|
||||||
`"status":${status},"error":"${error}","latency":${latency},"latency_human":"${latency_human}"` +
|
|
||||||
`,"bytes_in":${bytes_in},"bytes_out":${bytes_out}},"referer":"${referer}"` + "\n",
|
|
||||||
}))
|
|
||||||
|
|
||||||
e.Validator = dto.NewCustomValidator()
|
e.Validator = dto.NewCustomValidator()
|
||||||
|
|
||||||
|
|||||||
15
backend/server/middleware/logger.go
Normal file
15
backend/server/middleware/logger.go
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package middleware
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/labstack/echo/v4"
|
||||||
|
"github.com/labstack/echo/v4/middleware"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetLoggerMiddleware() echo.MiddlewareFunc {
|
||||||
|
return middleware.LoggerWithConfig(middleware.LoggerConfig{
|
||||||
|
Format: `{"time":"${time_rfc3339_nano}","time_unix":"${time_unix}","id":"${id}","remote_ip":"${remote_ip}",` +
|
||||||
|
`"host":"${host}","method":"${method}","uri":"${uri}","user_agent":"${user_agent}",` +
|
||||||
|
`"status":${status},"error":"${error}","latency":${latency},"latency_human":"${latency_human}"` +
|
||||||
|
`,"bytes_in":${bytes_in},"bytes_out":${bytes_out}},"referer":"${referer}"` + "\n",
|
||||||
|
})
|
||||||
|
}
|
||||||
@ -19,12 +19,7 @@ func NewPublicRouter(cfg *config.Config, persister persistence.Persister) *echo.
|
|||||||
e.HideBanner = true
|
e.HideBanner = true
|
||||||
|
|
||||||
e.Use(middleware.RequestID())
|
e.Use(middleware.RequestID())
|
||||||
e.Use(middleware.LoggerWithConfig(middleware.LoggerConfig{
|
e.Use(hankoMiddleware.GetLoggerMiddleware())
|
||||||
Format: `{"time":"${time_rfc3339_nano}","time_unix":"${time_unix}","id":"${id}","remote_ip":"${remote_ip}",` +
|
|
||||||
`"host":"${host}","method":"${method}","uri":"${uri}","user_agent":"${user_agent}",` +
|
|
||||||
`"status":${status},"error":"${error}","latency":${latency},"latency_human":"${latency_human}"` +
|
|
||||||
`,"bytes_in":${bytes_in},"bytes_out":${bytes_out}},"referer":"${referer}"` + "\n",
|
|
||||||
}))
|
|
||||||
|
|
||||||
if cfg.Server.Public.Cors.Enabled {
|
if cfg.Server.Public.Cors.Enabled {
|
||||||
e.Use(middleware.CORSWithConfig(middleware.CORSConfig{
|
e.Use(middleware.CORSWithConfig(middleware.CORSConfig{
|
||||||
|
|||||||
Reference in New Issue
Block a user