Documentation ¶
Overview ¶
Package zap contains helpers for setting up a new logr.Logger instance using the Zap logging framework.
Index ¶
- func ConsoleEncoder(opts ...EncoderConfigOption) func(o *Options)
- func Encoder(encoder zapcore.Encoder) func(o *Options)
- func JSONEncoder(opts ...EncoderConfigOption) func(o *Options)
- func Level(level zapcore.LevelEnabler) func(o *Options)
- func New(opts ...Opts) logr.Logger
- func NewRaw(opts ...Opts) *zap.Logger
- func RawZapOpts(zapOpts ...zap.Option) func(o *Options)
- func StacktraceLevel(stacktraceLevel zapcore.LevelEnabler) func(o *Options)
- type EncoderConfigOption
- type NewEncoderFunc
- type Options
- type Opts
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConsoleEncoder ¶
func ConsoleEncoder(opts ...EncoderConfigOption) func(o *Options)
ConsoleEncoder configures the logger to use a Console encoder.
func Encoder ¶
Encoder configures how the logger will encode the output e.g JSON or console. See Options.Encoder.
func JSONEncoder ¶
func JSONEncoder(opts ...EncoderConfigOption) func(o *Options)
JSONEncoder configures the logger to use a JSON Encoder.
func Level ¶
func Level(level zapcore.LevelEnabler) func(o *Options)
Level sets Options.Level, which configures the the minimum enabled logging level e.g Debug, Info. A zap log level should be multiplied by -1 to get the logr verbosity. For example, to get logr verbosity of 3, pass zapcore.Level(-3) to this Opts. See https://pkg.go.dev/github.com/go-logr/zapr for how zap level relates to logr verbosity.
func New ¶
New returns a brand new Logger configured with Opts. It uses KubeAwareEncoder which adds Type information and Namespace/Name to the log.
func NewRaw ¶
NewRaw returns a new zap.Logger configured with the passed Opts or their defaults. It uses KubeAwareEncoder which adds Type information and Namespace/Name to the log.
func RawZapOpts ¶
RawZapOpts allows appending arbitrary zap.Options to configure the underlying zap logger. See Options.ZapOpts.
func StacktraceLevel ¶
func StacktraceLevel(stacktraceLevel zapcore.LevelEnabler) func(o *Options)
StacktraceLevel sets Options.StacktraceLevel, which configures the logger to record a stack trace for all messages at or above a given level. See the Level Opts for the relationship of zap log level to logr verbosity.
Types ¶
type EncoderConfigOption ¶
type EncoderConfigOption func(*zapcore.EncoderConfig)
EncoderConfigOption is a function that can modify a `zapcore.EncoderConfig`.
type NewEncoderFunc ¶
type NewEncoderFunc func(...EncoderConfigOption) zapcore.Encoder
NewEncoderFunc is a function that creates an Encoder using the provided EncoderConfigOptions.
type Options ¶
type Options struct { // Development configures the logger to use a Zap development config // (stacktraces on warnings, no sampling), otherwise a Zap production // config will be used (stacktraces on errors, sampling). Development bool // Encoder configures how Zap will encode the output. Defaults to // console when Development is true and JSON otherwise Encoder zapcore.Encoder // EncoderConfigOptions can modify the EncoderConfig needed to initialize an Encoder. // See https://pkg.go.dev/go.uber.org/zap/zapcore#EncoderConfig for the list of options // that can be configured. // Note that the EncoderConfigOptions are not applied when the Encoder option is already set. EncoderConfigOptions []EncoderConfigOption // NewEncoder configures Encoder using the provided EncoderConfigOptions. // Note that the NewEncoder function is not used when the Encoder option is already set. NewEncoder NewEncoderFunc // DestWriter controls the destination of the log output. Defaults to // os.Stderr. DestWriter io.Writer // DestWritter controls the destination of the log output. Defaults to // os.Stderr. // // Deprecated: Use DestWriter instead DestWritter io.Writer // Level configures the verbosity of the logging. // Defaults to Debug when Development is true and Info otherwise. // A zap log level should be multiplied by -1 to get the logr verbosity. // For example, to get logr verbosity of 3, set this field to zapcore.Level(-3). // See https://pkg.go.dev/github.com/go-logr/zapr for how zap level relates to logr verbosity. Level zapcore.LevelEnabler // StacktraceLevel is the level at and above which stacktraces will // be recorded for all messages. Defaults to Warn when Development // is true and Error otherwise. // See Level for the relationship of zap log level to logr verbosity. StacktraceLevel zapcore.LevelEnabler // ZapOpts allows passing arbitrary zap.Options to configure on the // underlying Zap logger. ZapOpts []zap.Option // TimeEncoder specifies the encoder for the timestamps in log messages. // Defaults to EpochTimeEncoder as this is the default in Zap currently. TimeEncoder zapcore.TimeEncoder }
Options contains all possible settings.
type Opts ¶
type Opts func(*Options)
Opts allows to manipulate Options.
func UseDevMode ¶
UseDevMode sets the logger to use (or not use) development mode (more human-readable output, extra stack traces and logging information, etc). See Options.Development.
func UseOptions ¶
UseOptions configures the logger to use the Options.