INNER CODE UNIT · Go
setLoggerForProduction
open-policy-agent/gatekeeper · main.go:662
func setLoggerForProduction(encoder zapcore.LevelEncoder, dest io.Writer) {
sink := zapcore.AddSync(os.Stderr)
if dest != nil {
sink = zapcore.AddSync(dest)
}
var opts []zap.Option
encCfg := zap.NewProductionEncoderConfig()
encCfg.LevelKey = *logLevelKey
encCfg.EncodeLevel = encoder
enc := zapcore.NewJSONEncoder(encCfg)
lvl := zap.NewAtomicLevelAt(zap.WarnLevel)
opts = append(opts, zap.AddStacktrace(zap.ErrorLevel),
zap.WrapCore(func(core zapcore.Core) zapcore.Core {
return zapcore.NewSamplerWithOptions(core, time.Second, 100, 100)
}),
zap.AddCallerSkip(1), zap.ErrorOutput(sink))
zlog := zap.New(zapcore.NewCore(&crzap.KubeAwareEncoder{Encoder: enc, Verbose: false}, sink, lvl))
zlog = zlog.WithOptions(opts...)