summaryrefslogtreecommitdiffstats
path: root/modules/log/file.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/log/file.go')
-rw-r--r--modules/log/file.go14
1 files changed, 12 insertions, 2 deletions
diff --git a/modules/log/file.go b/modules/log/file.go
index 13386a320f..16fe26f84d 100644
--- a/modules/log/file.go
+++ b/modules/log/file.go
@@ -225,14 +225,24 @@ func compressOldLogFile(fname string, compressionLevel int) error {
func (log *FileLogger) deleteOldLog() {
dir := filepath.Dir(log.Filename)
- _ = filepath.Walk(dir, func(path string, info os.FileInfo, err error) (returnErr error) {
+ _ = filepath.WalkDir(dir, func(path string, d os.DirEntry, err error) (returnErr error) {
defer func() {
if r := recover(); r != nil {
returnErr = fmt.Errorf("Unable to delete old log '%s', error: %+v", path, r)
}
}()
- if !info.IsDir() && info.ModTime().Unix() < (time.Now().Unix()-60*60*24*log.Maxdays) {
+ if err != nil {
+ return err
+ }
+ if d.IsDir() {
+ return nil
+ }
+ info, err := d.Info()
+ if err != nil {
+ return err
+ }
+ if info.ModTime().Unix() < (time.Now().Unix() - 60*60*24*log.Maxdays) {
if strings.HasPrefix(filepath.Base(path), filepath.Base(log.Filename)) {
if err := util.Remove(path); err != nil {
returnErr = fmt.Errorf("Failed to remove %s: %w", path, err)