Fiberzerolog
Fiber를 위한 Zerolog 로깅 지원.
주의: Go 1.18 이상이 필요합니다
Installation
이 미들웨어는 Fiber v2를 지원합니다.
go get -u github.com/gofiber/fiber/v2
go get -u github.com/gofiber/contrib/fiberzerolog
go get -u github.com/rs/zerolog/log
Signatures
fiberzerolog.New(config ...fiberzerolog.Config) fiber.Handler
Config
Next
func(*Ctx) bool
true를 반환하면 이 미들웨어를 건너뛰는 함수 정의
nil
Logger
*zerolog.Logger
사용자 정의 zerolog 로거 추가.
zerolog.New(os.Stderr).With().Timestamp().Logger()
GetLogger
func(*fiber.Ctx) zerolog.Logger
사용자 정의 zerolog 로거 가져오기, 정의되면 반환된 로거가 Logger
값을 대체합니다.
nil
Fields
[]string
보고 싶은 필드 추가.
[]string{"latency", "status", "method", "url", "error"}
WrapHeaders
bool
헤더를 사전형으로 래핑합니다.
false인 경우: {"method":"POST", "header-key":"header value"}
true인 경우: {"method":"POST", "reqHeaders": {"header-key":"header value"}}
false
FieldsSnakeCase
bool
필드에 스네이크 케이스 사용: FieldResBody, FieldQueryParams, FieldBytesReceived, FieldBytesSent, FieldRequestId, FieldReqHeaders, FieldResHeaders.
false인 경우: {"method":"POST", "resBody":"v", "queryParams":"v"}
true인 경우: {"method":"POST", "res_body":"v", "query_params":"v"}
false
Messages
[]string
사용자 정의 응답 메시지.
[]string{"Server error", "Client error", "Success"}
Levels
[]zerolog.Level
사용자 정의 응답 레벨.
[]zerolog.Level{zerolog.ErrorLevel, zerolog.WarnLevel, zerolog.InfoLevel}
SkipURIs
[]string
이 URI에 대한 로깅 건너뛰기.
[]string{}
GetResBody
func(c *fiber.Ctx) []byte
nil이 아닌 값을 반환할 때 응답 본문을 가져오는 함수를 정의합니다. 예: compress 미들웨어 사용 시 resBody가 읽을 수 없는 경우. 읽을 수 있는 resBody를 가져오려면 GetResBody 함수를 설정할 수 있습니다.
nil
Examples
package main
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/contrib/fiberzerolog"
"github.com/rs/zerolog"
)
func main() {
app := fiber.New()
logger := zerolog.New(os.Stderr).With().Timestamp().Logger()
app.Use(fiberzerolog.New(fiberzerolog.Config{
Logger: &logger,
}))
app.Get("/", func (c *fiber.Ctx) error {
return c.SendString("Hello, World!")
})
if err := app.Listen(":3000"); err != nil {
logger.Fatal().Err(err).Msg("Fiber 앱 오류")
}
}
Last updated