logr

package module
v2.0.0-rc.3 Latest Latest
Warning

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

Go to latest
Published: Sep 13, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package logr provides a small adapter required to use logr in logging gRPC middlewares. Please see examples for examples of use.

Example (InitializationWithCustomLevels)
// Logger is used, allowing pre-definition of certain fields by the user.
logger := klog.NewKlogr()
// Shared options for the logger, with a custom gRPC code to log level function.
opts := []logging.Option{
	logging.WithLevels(customFunc),
}
// Create a server, make sure we put the tags context before everything else.
_ = grpc.NewServer(
	middleware.WithUnaryServerChain(
		logging.UnaryServerInterceptor(grpclogr.InterceptorLogger(logger), opts...),
	),
	middleware.WithStreamServerChain(
		logging.StreamServerInterceptor(grpclogr.InterceptorLogger(logger), opts...),
	),
)
Output:

Example (InitializationWithDurationFieldOverride)
// Logger is used, allowing pre-definition of certain fields by the user.
logger := klog.NewKlogr()
// Shared options for the logger, with a custom duration to log field function.
opts := []logging.Option{
	logging.WithDurationField(customDurationToFields),
}
// Create a server, make sure we put the tags context before everything else.
_ = grpc.NewServer(
	middleware.WithUnaryServerChain(
		logging.UnaryServerInterceptor(grpclogr.InterceptorLogger(logger), opts...),
	),
	middleware.WithStreamServerChain(
		logging.StreamServerInterceptor(grpclogr.InterceptorLogger(logger), opts...),
	),
)
Output:

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Logger

type Logger struct {
	logr.Logger
}

Logger is a logr logging adapter compatible with logging middlewares.

func InterceptorLogger

func InterceptorLogger(logger logr.Logger) *Logger

InterceptorLogger converts zap logger to Logger adapter.

func (*Logger) Log

func (l *Logger) Log(lvl logging.Level, msg string)

Log implements logging.Logger interface.

func (*Logger) With

func (l *Logger) With(fields ...string) logging.Logger

With implements logging.Logger interface.

Jump to

Keyboard shortcuts

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