mirror of
https://github.com/datarhei/core.git
synced 2025-09-27 12:22:28 +08:00
Log stacktrace in case of a panic during API requests
This commit is contained in:
@@ -30,6 +30,7 @@ package http
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/datarhei/core/v16/config"
|
"github.com/datarhei/core/v16/config"
|
||||||
"github.com/datarhei/core/v16/http/cache"
|
"github.com/datarhei/core/v16/http/cache"
|
||||||
@@ -333,7 +334,13 @@ func NewServer(config Config) (Server, error) {
|
|||||||
s.router.HTTPErrorHandler = errorhandler.HTTPErrorHandler
|
s.router.HTTPErrorHandler = errorhandler.HTTPErrorHandler
|
||||||
s.router.Validator = validator.New()
|
s.router.Validator = validator.New()
|
||||||
s.router.Use(s.middleware.log)
|
s.router.Use(s.middleware.log)
|
||||||
s.router.Use(middleware.Recover())
|
s.router.Use(middleware.RecoverWithConfig(middleware.RecoverConfig{
|
||||||
|
LogErrorFunc: func(c echo.Context, err error, stack []byte) error {
|
||||||
|
rows := strings.Split(string(stack), "\n")
|
||||||
|
s.logger.Error().WithField("stack", rows).Log("recovered from a panic")
|
||||||
|
return nil
|
||||||
|
},
|
||||||
|
}))
|
||||||
s.router.Use(mwbodysize.New())
|
s.router.Use(mwbodysize.New())
|
||||||
s.router.Use(mwsession.NewHTTPWithConfig(mwsession.HTTPConfig{
|
s.router.Use(mwsession.NewHTTPWithConfig(mwsession.HTTPConfig{
|
||||||
Collector: config.Sessions.Collector("http"),
|
Collector: config.Sessions.Collector("http"),
|
||||||
|
Reference in New Issue
Block a user