in log/writer_factory.go [91:113]
func (f *FileWriterFactory) setupConfig(decoder *Decoder) error {
cfg := &OutputConfig{}
if err := decoder.Decode(&cfg); err != nil {
return err
}
if cfg.WriteConfig.LogPath != "" {
cfg.WriteConfig.Filename = filepath.Join(cfg.WriteConfig.LogPath, cfg.WriteConfig.Filename)
}
if cfg.WriteConfig.RollType == "" {
cfg.WriteConfig.RollType = RollBySize
}
if cfg.WriteConfig.WriteMode == 0 {
// Use WriteFast as default mod.
// It has better performance, discards logs on full and avoid blocking service.
cfg.WriteConfig.WriteMode = WriteFast
}
core, level, err := newFileCore(cfg)
if err != nil {
return err
}
decoder.Core, decoder.ZapLevel = core, level
return nil
}