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