как избежать старых сообщений журнала при перезапуске TailerListener

#java #tail

#java #хвост

Вопрос:

Я использую API TailerListener для мониторинга файлов журнала. Он работает нормально, если процесс запущен. Если мы перезапустим TailerListener, ii будет отслеживать журналы, которые старше, чем время запуска этого процесса. Есть ли какой-либо способ избежать этого.

Заранее спасибо.

Комментарии:

1. Я немного отредактировал ваш вопрос, но, черт возьми, приложите усилия, чтобы опубликовать хотя бы то, что люди смогут прочитать. Правильно расставить знаки препинания и пропущенные заглавные буквы не сложно, даже если вы не являетесь носителем английского языка.

Ответ №1:

File в java есть lastModified() метод. Перед созданием Tailer проверьте это.

Комментарии:

1. Спасибо за ваш ответ. используя метод LastModified(), мы можем проверить, добавлены ли новые сообщения журнала в файл журнала. Но как отслеживать только новые сообщения журнала.

2. Боюсь, вам придется уточнить свой вопрос, поскольку я понятия не имею, что вы имеете в виду.

Ответ №2:

Ваш файл поворачивается? Посмотрите, соответствует ли приведенное ниже тому, о чем вы спрашиваете, потому что я сталкивался с этим раньше. При повороте файла поведение по умолчанию, по-видимому, заключается в том, чтобы выдавать все сообщения журнала из всего файла журнала, а не только новые сообщения журнала. Итак, мой вопрос заключается в том, как мне переопределить fileRotated() в TailerListener или изменить поведение, чтобы избежать повторного запуска всего файла журнала (старые и новые сообщения)?