Я пытаюсь реализовать логику вращения для файлов GC, созданных с помощью опции -Xloggc в приложении с весенней загрузкой. Вот что мне нужно
При каждом перезапуске приложения старый файл application_gc.log не должен перезаписываться.
Я попытался использовать ротацию журналов в сборке, где имена файлов журналов будут application_gc.0, .1 и т. Д. Но также существует риск перезаписи старых файлов.
После исследования я начал добавлять% t к имени файла журнала, чтобы старые файлы оставались такими, как есть.
-Xloggc: /var/log/application_gc-%t.log
С этим вот как выглядит список файлов журнала после нескольких перезапусков приложений.
- application_gc-2019-01-21_16-20-18.log
- application_gc-2019-01-28_11-27-11.log
- application_gc-2019-02-21_06-02-27.log
- application_gc-2019-03-01_10-34-09.log // Этот файл в настоящее время
записывается как последний перезапуск, произошедший 01 марта 2019 года
Кроме того, я хочу реализовать логику очистки от удаления старше 15 дней. Таким образом, ожидаемый результат ls после вращения
- application_gc-2019-03-01_10-34-09.log
Я пытался реализовать dateext с соответствующей меткой времени, но он удалил даже вышеупомянутый файл, так как он был старше 15 дней. Я также попытался выполнить postrotate с параметром "find -name ... -mtime", но у него также была та же проблема.
Я не хочу, чтобы последний записываемый файл был удален.
Возможно, мне не хватает чего-то простого. Было бы здорово получить совет экспертов. Заранее спасибо.