77 "net/http"
88 "strconv"
99
10- "github.com/labstack/echo/v4"
11-
1210 "github.com/ankorstore/yokai/config"
1311 "github.com/ankorstore/yokai/fxconfig"
1412 "github.com/ankorstore/yokai/fxgenerate"
@@ -23,7 +21,9 @@ import (
2321 httpservermiddleware "github.com/ankorstore/yokai/httpserver/middleware"
2422 "github.com/ankorstore/yokai/log"
2523 "github.com/arl/statsviz"
24+ "github.com/labstack/echo/v4"
2625 "github.com/labstack/echo/v4/middleware"
26+ gommonlog "github.com/labstack/gommon/log"
2727 "github.com/prometheus/client_golang/prometheus"
2828 "github.com/prometheus/client_golang/prometheus/promhttp"
2929 oteltrace "go.opentelemetry.io/otel/trace"
@@ -109,7 +109,6 @@ func NewFxCore(p FxCoreParam) (*Core, error) {
109109 coreServer , err := httpserver .NewDefaultHttpServerFactory ().Create (
110110 httpserver .WithDebug (appDebug ),
111111 httpserver .WithBanner (false ),
112- httpserver .WithRecovery (true ),
113112 httpserver .WithLogger (coreLogger ),
114113 httpserver .WithRenderer (NewDashboardRenderer (templatesFS , "templates/dashboard.html" )),
115114 httpserver .WithHttpErrorHandler (
@@ -216,6 +215,12 @@ func withMiddlewares(coreServer *echo.Echo, p FxCoreParam) *echo.Echo {
216215 coreServer .Use (httpservermiddleware .RequestMetricsMiddlewareWithConfig (metricsMiddlewareConfig ))
217216 }
218217
218+ // recovery middleware
219+ coreServer .Use (middleware .RecoverWithConfig (middleware.RecoverConfig {
220+ DisableErrorHandler : true ,
221+ LogLevel : gommonlog .ERROR ,
222+ }))
223+
219224 return coreServer
220225}
221226
0 commit comments