kzap

package module
v0.0.0-...-840a253 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2023 License: BSD-3-Clause Imports: 2 Imported by: 0

README

kzap

kzap is a plug-in package to hook Uber's zap into a kgo.Logger

To use,

cl, err := kgo.NewClient(
        kgo.WithLogger(kzap.New(zapLogger)),
        // ...other opts
)

By default, the logger chooses the highest level possible that is enabled on the zap logger, and then sticks with that level forever. A variable level can be chosen by specifying the LevelFn option. See the documentation on Level or LevelFn for more info.

Documentation

Overview

Package kzap provides a plug-in kgo.Logger wrapping uber's zap for usage in a kgo.Client.

This can be used like so:

cl, err := kgo.NewClient(
        kgo.WithLogger(kzap.New(zapLogger)),
        // ...other opts
)

By default, the logger chooses the highest level possible that is enabled on the zap logger, and then sticks with that level forever. A variable level can be chosen by specifying the LevelFn option. See the documentation on Level or LevelFn for more info.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Logger

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

Logger provides the kgo.Logger interface for usage in kgo.WithLogger when initializing a client.

func New

func New(zl *zap.Logger, opts ...Opt) *Logger

New returns a new logger that checks the enabled log level on every log.

func (*Logger) Level

func (l *Logger) Level() kgo.LogLevel

Level is for the kgo.Logger interface.

func (*Logger) Log

func (l *Logger) Log(level kgo.LogLevel, msg string, keyvals ...any)

Log is for the kgo.Logger interface.

type Opt

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

Opt applies options to the logger.

func AtomicLevel

func AtomicLevel(level zap.AtomicLevel) Opt

AtomicLevel returns an option that uses the current atomic level for LevelFn. If your zap logger uses the AtomicLevel already, using this option is not necessary, but it is *slightly* less work than the default level function that has to check if each level is enabled individually.

func Level

func Level(level kgo.LogLevel) Opt

Level sets a static level for the kgo.Logger Level function.

func LevelFn

func LevelFn(fn func() kgo.LogLevel) Opt

LevelFn sets a function that can dynamically change the log level. You may want to set this is the checking if a log level is enabled is expensive.

Jump to

Keyboard shortcuts

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