Log stacktrace in case of a panic during API requests
This commit is contained in:
parent
9400460704
commit
b7680978f8
1 changed files with 8 additions and 1 deletions
|
|
@ -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"),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue