fhzap

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2022 License: MIT Imports: 4 Imported by: 0

README

fasthttp logger

Requests zap middleware for fasthttp

Example

full code

// init fhzap
fhZap := fhzap.New(zapLogger,
    // specify ignore path
    fhzap.WithSkipPaths([]string{"/no-log", "/favicon.ico"}),
)

// init router
r := router.New()
r.GET("/foo", func(ctx *fasthttp.RequestCtx) {
    _, _ = ctx.WriteString("foo")
})
r.GET("/bar", func(ctx *fasthttp.RequestCtx) {
    _, _ = ctx.WriteString("bar")
})
r.GET("/no-log", func(ctx *fasthttp.RequestCtx) {
    _, _ = ctx.WriteString("no-log")
})

// combined middleware and listen
finalHandler := fhZap.Combined(r.Handler)
if err = fasthttp.ListenAndServe("127.0.0.1:8080", finalHandler); err != nil {
    log.Fatalf("fasthttp.ListenAndServe failed, err=%s", err)
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultIsSkipFunc

func DefaultIsSkipFunc(*fasthttp.RequestCtx) bool

func DefaultPostCtxDealFunc

func DefaultPostCtxDealFunc(ctx *fasthttp.RequestCtx, existField *[]zapcore.Field, lattency time.Duration)

func DefaultPreCtxDealFunc

func DefaultPreCtxDealFunc(ctx *fasthttp.RequestCtx) []zapcore.Field

Types

type FHZap

type FHZap struct {
	// contains filtered or unexported fields
}

FHZapLogger fasthttp zap logger

func New

func New(logger *zap.Logger, optArgs ...Option) *FHZap

func (*FHZap) Combined

func (fhz *FHZap) Combined(next fasthttp.RequestHandler) fasthttp.RequestHandler

type IsSkipFunc

type IsSkipFunc func(*fasthttp.RequestCtx) bool

type Option

type Option interface {
	// contains filtered or unexported methods
}

func WithIsSkipFunc

func WithIsSkipFunc(fn IsSkipFunc) Option

func WithLogMsg

func WithLogMsg(msg string) Option

func WithPostCtxDealFunc

func WithPostCtxDealFunc(fn PostCtxDealFunc) Option

func WithPreCtxDealFunc

func WithPreCtxDealFunc(fn PreCtxDealFunc) Option

func WithSkipPaths

func WithSkipPaths(pathList []string) Option

type PostCtxDealFunc

type PostCtxDealFunc func(*fasthttp.RequestCtx, *[]zapcore.Field, time.Duration)

type PreCtxDealFunc

type PreCtxDealFunc func(*fasthttp.RequestCtx) []zapcore.Field

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL