2015-03-24 4 views
0

Я хотел бы повернуть журналы, которые уже управляются logrotate.оптимальный способ контролировать размер файла с помощью java

Однако логротат использовался, чтобы вращать журнал только ежедневно, поскольку это чисто задача CRON.

Я хотел бы выполнить logrotate, когда размер файла превышает размер, указанный в параметре размера для файла конфигурации logrotate. Я планирую реализовать то же самое, контролируя файлы журнала и выполняя logrotate, когда размер файла журнала превышает размер, указанный в config logrotate.

Каков оптимальный способ сделать это в java?

+0

Unix 'logrotate' с' size = 100k' должен делать, но я мог бы ошибиться в «logrotate». –

+0

, так как этот logrotate выполняет как задачу cron, он будет выполняться только в указанное время. К тому времени, если размер файла превысит значение, настроенное для размера, тогда файл будет повернут. Но мое обязательство - вызывать этот логротат всякий раз, когда размер файла превышает сконфигурированное значение. – Balachandar

+0

Что пишет этот файл журнала? Некоторые системы регистрации имеют встроенные возможности логарифмического вращения. – Kenster

ответ

0

Один из способов сделать это - использовать WatchService, а затем действовать, когда файл записывается, а размер больше порога.

+0

Спасибо .. попробовал бы – Balachandar

+0

привет, я мог видеть, что этот api представлен с jdk1.7. В нашем процессе сборки используется jdk1.6, поэтому нельзя использовать WatchService. Если вы знаете какой-либо другой эквивалентный и оптимальный способ в jdk1.6, пожалуйста, дайте мне знать. – Balachandar