logger

package
v1.5.10 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2023 License: Apache-2.0 Imports: 13 Imported by: 114

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Debugw added in v0.8.6

func Debugw(msg string, keysAndValues ...interface{})

func Errorw added in v0.8.6

func Errorw(msg string, err error, keysAndValues ...interface{})

func Infow added in v0.8.6

func Infow(msg string, keysAndValues ...interface{})

func InitFromConfig added in v0.13.1

func InitFromConfig(conf Config, name string)

InitFromConfig initializes a Zap-based logger

func NewFieldSampler added in v1.5.8

func NewFieldSampler(core zapcore.Core, config FieldSamplerConfig) zapcore.Core

func ParseZapLevel added in v0.13.1

func ParseZapLevel(level string) zapcore.Level

func Proto added in v1.5.7

func SetLogger

func SetLogger(l Logger, name string)

SetLogger lets you use a custom logger. Pass in a logr.Logger with default depth

func Warnw added in v0.8.6

func Warnw(msg string, err error, keysAndValues ...interface{})

Types

type AtomicFieldSampleRate added in v1.5.8

type AtomicFieldSampleRate uint64

func NewAtomicFieldSampleRate added in v1.5.8

func NewAtomicFieldSampleRate(rate float64) *AtomicFieldSampleRate

func (*AtomicFieldSampleRate) SetRate added in v1.5.8

func (r *AtomicFieldSampleRate) SetRate(rate float64)

func (*AtomicFieldSampleRate) Threshold added in v1.5.8

func (r *AtomicFieldSampleRate) Threshold() uint64

type Config added in v0.13.1

type Config struct {
	JSON  bool   `yaml:"json"`
	Level string `yaml:"level"`
	// true to enable log sampling, where the same log message and level will be throttled.
	// we have two layers of sampling
	// 1. global sampling - within a second, it will log the first SampleInitial, then every SampleInterval messages.
	// 2. per participant/track sampling - to be used with Logger.WithItemSampler(). This would be used to throttle
	//    the logs for a particular participant/track.
	Sample bool `yaml:"sample,omitempty"`

	// global sampling per server
	// when sampling, the first N logs will be logged
	SampleInitial int `yaml:"sample_initial,omitempty"`
	// when sampling, every Mth log will be logged
	SampleInterval int `yaml:"sample_interval,omitempty"`

	// participant/track level sampling
	ItemSampleSeconds  int `yaml:"item_sample_seconds,omitempty"`
	ItemSampleInitial  int `yaml:"item_sample_initial,omitempty"`
	ItemSampleInterval int `yaml:"item_sample_interval,omitempty"`
}

type FieldSampleRate added in v1.5.8

type FieldSampleRate interface {
	Threshold() uint64
}

type FieldSamplerAction added in v1.5.8

type FieldSamplerAction int
const (
	OmitSampledLog FieldSamplerAction = iota
	AnnotateSampledLog
)

type FieldSamplerConfig added in v1.5.8

type FieldSamplerConfig struct {
	FieldName           string
	Rate                FieldSampleRate
	Action              FieldSamplerAction
	AnnotationFieldName string
}

type LogRLogger added in v1.3.0

type LogRLogger logr.Logger

func (LogRLogger) Debugw added in v1.3.0

func (l LogRLogger) Debugw(msg string, keysAndValues ...interface{})

func (LogRLogger) Errorw added in v1.3.0

func (l LogRLogger) Errorw(msg string, err error, keysAndValues ...interface{})

func (LogRLogger) Infow added in v1.3.0

func (l LogRLogger) Infow(msg string, keysAndValues ...interface{})

func (LogRLogger) Warnw added in v1.3.0

func (l LogRLogger) Warnw(msg string, err error, keysAndValues ...interface{})

func (LogRLogger) WithCallDepth added in v1.3.0

func (l LogRLogger) WithCallDepth(depth int) Logger

func (LogRLogger) WithItemSampler added in v1.3.0

func (l LogRLogger) WithItemSampler() Logger

func (LogRLogger) WithName added in v1.3.0

func (l LogRLogger) WithName(name string) Logger

func (LogRLogger) WithValues added in v1.3.0

func (l LogRLogger) WithValues(keysAndValues ...interface{}) Logger

func (LogRLogger) WithoutSampler added in v1.4.2

func (l LogRLogger) WithoutSampler() Logger

type Logger added in v0.10.0

type Logger interface {
	Debugw(msg string, keysAndValues ...interface{})
	Infow(msg string, keysAndValues ...interface{})
	Warnw(msg string, err error, keysAndValues ...interface{})
	Errorw(msg string, err error, keysAndValues ...interface{})
	WithValues(keysAndValues ...interface{}) Logger
	WithName(name string) Logger
	WithCallDepth(depth int) Logger
	WithItemSampler() Logger
	// WithoutSampler returns the original logger without sampling
	WithoutSampler() Logger
}

func GetLogger

func GetLogger() Logger

GetLogger returns the logger that was set with SetLogger with an extra depth of 1

type ZapLogger added in v1.3.0

type ZapLogger struct {
	SampleDuration time.Duration
	SampleInitial  int
	SampleInterval int
	// contains filtered or unexported fields
}

func NewZapLogger added in v1.3.0

func NewZapLogger(conf *Config) (*ZapLogger, error)

func (*ZapLogger) Debugw added in v1.3.0

func (l *ZapLogger) Debugw(msg string, keysAndValues ...interface{})

func (*ZapLogger) Errorw added in v1.3.0

func (l *ZapLogger) Errorw(msg string, err error, keysAndValues ...interface{})

func (*ZapLogger) Infow added in v1.3.0

func (l *ZapLogger) Infow(msg string, keysAndValues ...interface{})

func (*ZapLogger) ToZap added in v1.3.1

func (l *ZapLogger) ToZap() *zap.SugaredLogger

func (*ZapLogger) Warnw added in v1.3.0

func (l *ZapLogger) Warnw(msg string, err error, keysAndValues ...interface{})

func (*ZapLogger) WithCallDepth added in v1.3.0

func (l *ZapLogger) WithCallDepth(depth int) Logger

func (*ZapLogger) WithFieldSampler added in v1.5.8

func (l *ZapLogger) WithFieldSampler(config FieldSamplerConfig) *ZapLogger

func (*ZapLogger) WithItemSampler added in v1.3.0

func (l *ZapLogger) WithItemSampler() Logger

func (*ZapLogger) WithName added in v1.3.0

func (l *ZapLogger) WithName(name string) Logger

func (*ZapLogger) WithValues added in v1.3.0

func (l *ZapLogger) WithValues(keysAndValues ...interface{}) Logger

func (*ZapLogger) WithoutSampler added in v1.4.2

func (l *ZapLogger) WithoutSampler() Logger

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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