Overview

Level - 图1

实现

Level

定义:

  1. type Level int8

Level 也满足 LevelEnabler 接口

  1. func (l Level) Enabled(lvl Level) bool {
  2. return lvl >= l
  3. }

zapcore.LevelEnabler 接口

检查输入的 Level 是否开启

  1. type LevelEnabler interface {
  2. Enabled(Level) bool
  3. }

AtomicLevel

  1. type AtomicLevel struct {
  2. l *atomic.Int32
  3. }

LevelEnabler 接口实现

  1. func (lvl AtomicLevel) Enabled(l zapcore.Level) bool {
  2. return lvl.Level().Enabled(l)
  3. }

Level 方法

  1. func (lvl AtomicLevel) Level() zapcore.Level {
  2. return zapcore.Level(int8(lvl.l.Load()))
  3. }