0

標準の Unix デーモンは、シグナル HUP をサポートしてログ ファイルをローテーションします。デーモンはシグナルを受信するたびに、すべてのログ ファイルを閉じてから再度開きます。

Apache Commons Daemon を使用して、Java でデーモン プロセスを実行しています。デーモンの実装は、init、start、および stop の 3 つのメソッドをサポートしています。しかし、Unix シグナルのサポートが見つかりません。ログ ファイルをローテーションする HUP シグナルをサポートするにはどうすればよいですか?

4

1 に答える 1

1

Apache Commons Daemon は SIGUSR1 を使用してこれを行います。これにより、プロセスは stderr および stdout ファイル記述子を閉じて再度開きます。

これらのストリームにログを記録している限り (たとえば、次のように log4j を使用)、Java コードを記述する必要はありません。

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.err" />
    ...
</appender>
于 2014-09-10T09:03:43.490 に答える