2021-01-31 23:10:16 +00:00
|
|
|
package log
|
|
|
|
|
2021-09-27 14:57:40 +00:00
|
|
|
import (
|
|
|
|
"github.com/go-kit/log"
|
|
|
|
)
|
2021-01-31 23:10:16 +00:00
|
|
|
|
|
|
|
// Logger is the fundamental interface for all log operations. Log creates a
|
|
|
|
// log event from keyvals, a variadic sequence of alternating keys and values.
|
|
|
|
// Implementations must be safe for concurrent use by multiple goroutines. In
|
|
|
|
// particular, any implementation of Logger that appends to keyvals or
|
|
|
|
// modifies or retains any of its elements must make a copy first.
|
2021-09-27 14:57:40 +00:00
|
|
|
type Logger = log.Logger
|
2021-01-31 23:10:16 +00:00
|
|
|
|
|
|
|
// ErrMissingValue is appended to keyvals slices with odd length to substitute
|
|
|
|
// the missing value.
|
2021-09-27 14:57:40 +00:00
|
|
|
var ErrMissingValue = log.ErrMissingValue
|
2021-01-31 23:10:16 +00:00
|
|
|
|
|
|
|
// With returns a new contextual logger with keyvals prepended to those passed
|
2021-07-07 13:05:04 +00:00
|
|
|
// to calls to Log. If logger is also a contextual logger created by With,
|
|
|
|
// WithPrefix, or WithSuffix, keyvals is appended to the existing context.
|
2021-01-31 23:10:16 +00:00
|
|
|
//
|
|
|
|
// The returned Logger replaces all value elements (odd indexes) containing a
|
|
|
|
// Valuer with their generated value for each call to its Log method.
|
|
|
|
func With(logger Logger, keyvals ...interface{}) Logger {
|
2021-09-27 14:57:40 +00:00
|
|
|
return log.With(logger, keyvals...)
|
2021-01-31 23:10:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// WithPrefix returns a new contextual logger with keyvals prepended to those
|
|
|
|
// passed to calls to Log. If logger is also a contextual logger created by
|
2021-07-07 13:05:04 +00:00
|
|
|
// With, WithPrefix, or WithSuffix, keyvals is prepended to the existing context.
|
2021-01-31 23:10:16 +00:00
|
|
|
//
|
|
|
|
// The returned Logger replaces all value elements (odd indexes) containing a
|
|
|
|
// Valuer with their generated value for each call to its Log method.
|
|
|
|
func WithPrefix(logger Logger, keyvals ...interface{}) Logger {
|
2021-09-27 14:57:40 +00:00
|
|
|
return log.WithPrefix(logger, keyvals...)
|
2021-01-31 23:10:16 +00:00
|
|
|
}
|
|
|
|
|
2021-07-07 13:05:04 +00:00
|
|
|
// WithSuffix returns a new contextual logger with keyvals appended to those
|
|
|
|
// passed to calls to Log. If logger is also a contextual logger created by
|
|
|
|
// With, WithPrefix, or WithSuffix, keyvals is appended to the existing context.
|
|
|
|
//
|
|
|
|
// The returned Logger replaces all value elements (odd indexes) containing a
|
|
|
|
// Valuer with their generated value for each call to its Log method.
|
|
|
|
func WithSuffix(logger Logger, keyvals ...interface{}) Logger {
|
2021-09-27 14:57:40 +00:00
|
|
|
return log.WithSuffix(logger, keyvals...)
|
2021-01-31 23:10:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// LoggerFunc is an adapter to allow use of ordinary functions as Loggers. If
|
|
|
|
// f is a function with the appropriate signature, LoggerFunc(f) is a Logger
|
|
|
|
// object that calls f.
|
2021-09-27 14:57:40 +00:00
|
|
|
type LoggerFunc = log.LoggerFunc
|