Documentation ¶
Overview ¶
Package logutil includes utilities to facilitate logging.
Index ¶
- Variables
- func ConvertToZapLevel(lvl string) zapcore.Level
- func MergeOutputPaths(cfg zap.Config) zap.Config
- func NewGRPCLoggerV2(lcfg zap.Config) (grpclog.LoggerV2, error)
- func NewGRPCLoggerV2FromZapCore(cr zapcore.Core, syncer zapcore.WriteSyncer) grpclog.LoggerV2
- func NewJournalWriter(wr io.Writer) (io.Writer, error)
- type Logger
Constants ¶
This section is empty.
Variables ¶
var DefaultLogLevel = "info"
var DefaultZapLoggerConfig = zap.Config{ Level: zap.NewAtomicLevelAt(ConvertToZapLevel(DefaultLogLevel)), Development: false, Sampling: &zap.SamplingConfig{ Initial: 100, Thereafter: 100, }, Encoding: "json", EncoderConfig: zapcore.EncoderConfig{ TimeKey: "ts", LevelKey: "level", NameKey: "logger", CallerKey: "caller", MessageKey: "msg", StacktraceKey: "stacktrace", LineEnding: zapcore.DefaultLineEnding, EncodeLevel: zapcore.LowercaseLevelEncoder, EncodeTime: zapcore.ISO8601TimeEncoder, EncodeDuration: zapcore.StringDurationEncoder, EncodeCaller: zapcore.ShortCallerEncoder, }, OutputPaths: []string{"stderr"}, ErrorOutputPaths: []string{"stderr"}, }
DefaultZapLoggerConfig defines default zap logger configuration.
Functions ¶
func ConvertToZapLevel ¶
ConvertToZapLevel converts log level string to zapcore.Level.
func MergeOutputPaths ¶
MergeOutputPaths merges logging output paths, resolving conflicts.
func NewGRPCLoggerV2 ¶
NewGRPCLoggerV2 converts "*zap.Logger" to "grpclog.LoggerV2". It discards all INFO level logging in gRPC, if debug level is not enabled in "*zap.Logger".
func NewGRPCLoggerV2FromZapCore ¶
NewGRPCLoggerV2FromZapCore creates "grpclog.LoggerV2" from "zap.Core" and "zapcore.WriteSyncer". It discards all INFO level logging in gRPC, if debug level is not enabled in "*zap.Logger".
func NewJournalWriter ¶
NewJournalWriter wraps "io.Writer" to redirect log output to the local systemd journal. If journald send fails, it fails back to writing to the original writer. The decode overhead is only <30µs per write. Reference: https://github.com/coreos/pkg/blob/master/capnslog/journald_formatter.go
Types ¶
type Logger ¶
type Logger interface { grpclog.LoggerV2 // Lvl returns logger if logger's verbosity level >= "lvl". // Otherwise, logger that discards everything. Lvl(lvl int) grpclog.LoggerV2 }
Logger defines logging interface. TODO: deprecate in v3.5.
func NewDiscardLogger ¶
func NewDiscardLogger() Logger
NewDiscardLogger returns a new Logger that discards everything except "fatal".