diff --git a/src/framework/logger/writer.go b/src/framework/logger/writer.go index 1a7a7058..32096866 100644 --- a/src/framework/logger/writer.go +++ b/src/framework/logger/writer.go @@ -84,13 +84,13 @@ func (l *Logger) checkFile() { currTime := time.Now() if l.logDay != currTime.Day() { l.logDay = currTime.Day() - l.rotateFile(currTime.AddDate(0, 0, -1).Format("20060102")) + l.rotateFile(currTime.AddDate(0, 0, -1).Format("2006-01-02")) // 移除超过保存最长天数的文件 l.removeOldFile(currTime.AddDate(0, 0, -l.maxDay)) } else if fileInfo.Size() >= l.maxSize { - l.rotateFile(currTime.Format("20060102_150405")) + l.rotateFile(currTime.Format("2006-01-02_150405")) } else if time.Since(fileInfo.ModTime()).Hours() > 24 { - l.rotateFile(fileInfo.ModTime().Format("20060102")) + l.rotateFile(fileInfo.ModTime().Format("2006-01-02")) } time.AfterFunc(1*time.Minute, l.checkFile) @@ -100,7 +100,7 @@ func (l *Logger) checkFile() { func (l *Logger) rotateFile(timeFormat string) { l.fileHandle.Close() - newFileName := fmt.Sprintf("%s-%s", l.fileName, timeFormat) + newFileName := fmt.Sprintf("%s.%s", l.fileName, timeFormat) newFilePath := filepath.Join(l.filePath, newFileName) oldfilePath := filepath.Join(l.filePath, l.fileName) @@ -134,14 +134,18 @@ func (l *Logger) removeOldFile(oldFileDate time.Time) { } for _, file := range files { - idx := strings.LastIndex(file.Name(), ".log-") + // 跳过非指定日志文件名 + if !strings.HasPrefix(file.Name(), l.fileName+".") { + continue + } + idx := strings.LastIndex(file.Name(), ".") if idx == -1 { continue } - dateStr := file.Name()[idx+5 : idx+13] + dateStr := file.Name()[idx+1 : idx+11] // 解析日期字符串 - fileDate, err := time.Parse("20060102", dateStr) + fileDate, err := time.Parse("2006-01-02", dateStr) if err != nil { l.Errorf("logger RemoveOldFile Parse err: %v", err.Error()) continue