Overview
实现
Level
定义:
type Level int8
Level 也满足 LevelEnabler 接口
func (l Level) Enabled(lvl Level) bool {
return lvl >= l
}
zapcore.LevelEnabler 接口
检查输入的 Level 是否开启
type LevelEnabler interface {
Enabled(Level) bool
}
AtomicLevel
type AtomicLevel struct {
l *atomic.Int32
}
LevelEnabler 接口实现
func (lvl AtomicLevel) Enabled(l zapcore.Level) bool {
return lvl.Level().Enabled(l)
}
Level 方法
func (lvl AtomicLevel) Level() zapcore.Level {
return zapcore.Level(int8(lvl.l.Load()))
}