示例

zap.Option

接口定义

  1. type Option interface {
  2. apply(*Logger)
  3. }

函数接口实现

  1. type optionFunc func(*Logger)
  2. func (f optionFunc) apply(log *Logger) {
  3. f(log)
  4. }

Option 方法实现

  1. func Hooks(hooks ...func(zapcore.Entry) error) Option {
  2. return optionFunc(func(log *Logger) { // 返回 Option 接口
  3. log.core = zapcore.RegisterHooks(log.core, hooks...)
  4. })
  5. }