package zaplog type LogFileConfig struct { Filename string // 日志文件存放目录及名称,如果文件夹不存在会自动创建 FileSize_MB int // 文件大小限制,单位MB FileBackup int // 最大保留日志文件数量 FileAge_DAY int // 日志文件保留天数 } type ZapConfig struct { JsonFormat bool // 是否使用json格式,默认false DebugLog LogFileConfig // Debug日志配置 InfoLog LogFileConfig // Info日志配置 WarnLog LogFileConfig // Warn日志配置 ErrorLog LogFileConfig // Error日志配置 FatalLog LogFileConfig // Fatal日志配置 } var cfg_default = ZapConfig{ DebugLog: LogFileConfig{ Filename: "./log/debug", FileSize_MB: 5, FileBackup: 5, FileAge_DAY: 30, }, InfoLog: LogFileConfig{ Filename: "./log/info", FileSize_MB: 5, FileBackup: 5, FileAge_DAY: 30, }, WarnLog: LogFileConfig{ Filename: "./log/warn", FileSize_MB: 5, FileBackup: 5, FileAge_DAY: 30, }, ErrorLog: LogFileConfig{ Filename: "./log/error", FileSize_MB: 5, FileBackup: 5, FileAge_DAY: 30, }, FatalLog: LogFileConfig{ Filename: "./log/fatal", FileSize_MB: 5, FileBackup: 5, FileAge_DAY: 30, }, } func configDefault(config ...ZapConfig) ZapConfig { if len(config) < 1 { return cfg_default } cfg := config[0] if cfg.DebugLog.Filename == "" { cfg.DebugLog.Filename = cfg_default.DebugLog.Filename } if cfg.DebugLog.FileSize_MB == 0 { cfg.DebugLog.FileSize_MB = cfg_default.DebugLog.FileSize_MB } if cfg.DebugLog.FileBackup == 0 { cfg.DebugLog.FileBackup = cfg_default.DebugLog.FileBackup } if cfg.DebugLog.FileAge_DAY == 0 { cfg.DebugLog.FileAge_DAY = cfg_default.DebugLog.FileAge_DAY } if cfg.InfoLog.Filename == "" { cfg.InfoLog.Filename = cfg_default.InfoLog.Filename } if cfg.InfoLog.FileSize_MB == 0 { cfg.InfoLog.FileSize_MB = cfg_default.InfoLog.FileSize_MB } if cfg.InfoLog.FileBackup == 0 { cfg.InfoLog.FileBackup = cfg_default.InfoLog.FileBackup } if cfg.InfoLog.FileAge_DAY == 0 { cfg.InfoLog.FileAge_DAY = cfg_default.InfoLog.FileAge_DAY } if cfg.WarnLog.Filename == "" { cfg.WarnLog.Filename = cfg_default.WarnLog.Filename } if cfg.WarnLog.FileSize_MB == 0 { cfg.WarnLog.FileSize_MB = cfg_default.WarnLog.FileSize_MB } if cfg.WarnLog.FileBackup == 0 { cfg.WarnLog.FileBackup = cfg_default.WarnLog.FileBackup } if cfg.WarnLog.FileAge_DAY == 0 { cfg.WarnLog.FileAge_DAY = cfg_default.WarnLog.FileAge_DAY } if cfg.ErrorLog.Filename == "" { cfg.ErrorLog.Filename = cfg_default.ErrorLog.Filename } if cfg.ErrorLog.FileSize_MB == 0 { cfg.ErrorLog.FileSize_MB = cfg_default.ErrorLog.FileSize_MB } if cfg.ErrorLog.FileBackup == 0 { cfg.ErrorLog.FileBackup = cfg_default.ErrorLog.FileBackup } if cfg.ErrorLog.FileAge_DAY == 0 { cfg.ErrorLog.FileAge_DAY = cfg_default.ErrorLog.FileAge_DAY } if cfg.FatalLog.Filename == "" { cfg.FatalLog.Filename = cfg_default.FatalLog.Filename } if cfg.FatalLog.FileSize_MB == 0 { cfg.FatalLog.FileSize_MB = cfg_default.FatalLog.FileSize_MB } if cfg.FatalLog.FileBackup == 0 { cfg.FatalLog.FileBackup = cfg_default.FatalLog.FileBackup } if cfg.FatalLog.FileAge_DAY == 0 { cfg.FatalLog.FileAge_DAY = cfg_default.FatalLog.FileAge_DAY } return cfg }