package zap import ( "go.uber.org/zap" "go.uber.org/zap/zapcore" "go-micro.dev/v4/logger" ) type Options struct { logger.Options } type configKey struct{} // WithConfig pass zap.Config to logger func WithConfig(c zap.Config) logger.Option { return logger.SetOption(configKey{}, c) } type encoderConfigKey struct{} // WithEncoderConfig pass zapcore.EncoderConfig to logger func WithEncoderConfig(c zapcore.EncoderConfig) logger.Option { return logger.SetOption(encoderConfigKey{}, c) } type namespaceKey struct{} func WithNamespace(namespace string) logger.Option { return logger.SetOption(namespaceKey{}, namespace) } type optionsKey struct{} func WithOptions(opts ...zap.Option) logger.Option { return logger.SetOption(optionsKey{}, opts) }