Recover
Recover middleware recovers from panics anywhere in the chain, prints the stack trace, and passes control to the centralized HTTPErrorHandler.
All core middleware lives in the middleware package:
import "github.com/labstack/echo/v5/middleware"e.Use(middleware.Recover())Custom configuration
Section titled “Custom configuration”e := echo.New()e.Use(middleware.RecoverWithConfig(middleware.RecoverConfig{ StackSize: 1 << 10, // 1 KB}))The example above uses a StackSize of 1 KB and default values for DisableStackAll and
DisablePrintStack.
Configuration
Section titled “Configuration”type RecoverConfig struct { // Skipper defines a function to skip middleware. Skipper Skipper
// Size of the stack to be printed. // Optional. Default value 4KB. StackSize int
// DisableStackAll disables formatting stack traces of all other goroutines // into the buffer after the trace for the current goroutine. // Optional. Default value false. DisableStackAll bool
// DisablePrintStack disables printing the stack trace. // Optional. Default value false. DisablePrintStack bool}Default configuration
Section titled “Default configuration”var DefaultRecoverConfig = RecoverConfig{ Skipper: DefaultSkipper, StackSize: 4 << 10, // 4 KB DisableStackAll: false, DisablePrintStack: false,}