只保存15天以内的日志文件

This commit is contained in:
hahwu 2025-01-20 14:58:05 +08:00
parent 326fc96371
commit ff5c8bc777

View File

@ -599,6 +599,7 @@ func (ad *GameLogic) CreateDailyLogFile() {
}
ad.Mlogger, ad.MloggerErr = log.NewDailyLog(now, "Debug", "log", l.LstdFlags)
if ad.MloggerErr != nil {
log.Debug(ad.MloggerErr.Error())
return
}
log.Export(ad.Mlogger)
@ -607,6 +608,38 @@ func (ad *GameLogic) CreateDailyLogFile() {
log.Export(ad.Mlogger)
}
ad.Mlogger.Debug("CreateDailyLogFile")
// Remove logs older than 15 days
ad.RemoveOldLogs(15)
}
func (ad *GameLogic) RemoveOldLogs(days int) {
dir := conf.Server.LogPath
files, err := os.ReadDir(dir)
if err != nil {
log.Debug("Failed to read log directory: %v", err)
return
}
cutoff := time.Now().AddDate(0, 0, -days)
for _, file := range files {
if file.IsDir() {
continue
}
fileInfo, err := file.Info()
if err != nil {
log.Debug("Failed to get file info: %v", err)
continue
}
if fileInfo.ModTime().Before(cutoff) {
err := os.Remove(dir + "/" + file.Name())
if err != nil {
log.Debug("Failed to remove old log file: %v", err)
} else {
log.Debug("Removed old log file: %s", file.Name())
}
}
}
}
func (ad *GameLogic) RegisterNetWorkFunc() {