コンテンツにスキップ

Recover

Recover ミドルウェアは、チェーン内のどこで発生した panic からも復旧し、スタックトレースを出力して、 一元化された HTTPErrorHandler に制御を渡します。

すべてのコアミドルウェアは middleware パッケージに含まれています:

import "github.com/labstack/echo/v5/middleware"
e.Use(middleware.Recover())
e := echo.New()
e.Use(middleware.RecoverWithConfig(middleware.RecoverConfig{
StackSize: 1 << 10, // 1 KB
}))

上の例では StackSize を 1 KB にし、DisableStackAll と DisablePrintStack はデフォルト値を使います。

RecoverConfig · github.com/labstack/echo/[email protected]

フィールドの説明は英語のソースコードのコメントから生成されています。

パッケージのソースコードのフィールド
フィールド型説明ソース
SkipperSkipperSkipper defines a function to skip middleware.L17
StackSizeintSize of the stack to be printed. Optional. Default value 4KB.L21
DisableStackAllboolDisableStackAll disables formatting stack traces of all other goroutines into buffer after the trace for the current goroutine. Optional. Default value false.L26
DisablePrintStackboolDisablePrintStack disables printing stack trace. Optional. Default value as false.L30
パッケージのソースコードの関数
型ソース
func Recover() echo.MiddlewareFuncL43
func RecoverWithConfig(config RecoverConfig) echo.MiddlewareFuncL48
var DefaultRecoverConfig = RecoverConfig{
Skipper: DefaultSkipper,
StackSize: 4 << 10, // 4 KB
DisableStackAll: false,
DisablePrintStack: false,
}