in log/zaplogger.go [76:101]
func NewZapLogWithCallerSkip(c Config, callerSkip int) Logger {
var (
cores []zapcore.Core
levels []zap.AtomicLevel
)
for _, o := range c {
writer := GetWriter(o.Writer)
if writer == nil {
panic("log: writer core: " + o.Writer + " no registered")
}
decoder := &Decoder{OutputConfig: &o}
if err := writer.Setup(o.Writer, decoder); err != nil {
panic("log: writer core: " + o.Writer + " setup fail: " + err.Error())
}
cores = append(cores, decoder.Core)
levels = append(levels, decoder.ZapLevel)
}
return &zapLog{
levels: levels,
logger: zap.New(
zapcore.NewTee(cores...),
zap.AddCallerSkip(callerSkip),
zap.AddCaller(),
),
}
}