Как реализовать ротацию файлов журнала в Apache Commons Daemon?

Стандартные демоны Unix поддерживают сигнал HUP для ротации файлов журналов. Когда демон получает сигнал, он закрывает все файлы журналов и снова открывает их.

У меня есть демон-процесс на Java, использующий Apache Commons Daemon. Реализация демона поддерживает три метода: init, start и stop. Но я не могу найти поддержку сигналов Unix. Как поддерживать сигнал HUP для ротации файлов журналов?


person ceving    schedule 13.06.2014    source источник


Ответы (1)


Демон Apache Commons делает это за вас, используя SIGUSR1, который заставляет процесс закрыть и снова открыть файловые дескрипторы stderr и stdout.

Пока вы регистрируетесь в этих потоках (например, используя log4j, как показано ниже), вам не нужно писать код Java.

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.err" />
    ...
</appender>
person byeo    schedule 10.09.2014