删除旧日志
()
| 167 | |
| 168 | // 删除旧日志 |
| 169 | func (w *Writer) delete() { |
| 170 | if w.maxAge <= 0 { |
| 171 | return |
| 172 | } |
| 173 | dir := filepath.Dir(w.fpath) |
| 174 | fakeNow := time.Now().AddDate(0, 0, -w.maxAge) |
| 175 | dirs, err := os.ReadDir(dir) |
| 176 | if err != nil { |
| 177 | return |
| 178 | } |
| 179 | for _, path := range dirs { |
| 180 | name := path.Name() |
| 181 | if path.IsDir() { |
| 182 | continue |
| 183 | } |
| 184 | t, err := w.name2time(name) |
| 185 | // 只删除满足格式的文件 |
| 186 | if err == nil && t.Before(fakeNow) { |
| 187 | os.Remove(filepath.Join(dir, name)) |
| 188 | } |
| 189 | } |
| 190 | } |
| 191 | |
| 192 | func (w *Writer) name2time(name string) (time.Time, error) { |
| 193 | name = strings.TrimPrefix(name, filepath.Base(w.fname)) |