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...)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…