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