如何在Apache Commons Daemon中实现日志文件轮换?

时间:2014-06-13 13:24:11

标签: java unix daemon apache-commons-daemon

标准Unix守护程序支持信号HUP来旋转日志文件。当守护进程收到信号时,它会关闭所有日志文件并重新打开它们。

我使用Apache Commons Daemon在Java中有一个守护进程。守护进程实现支持三种方法:init,start和stop。但我找不到任何对Unix信号的支持。如何支持HUP信号来旋转日志文件?

1 个答案:

答案 0 :(得分:0)

Apache Commons Daemon使用SIGUSR1为您执行此操作,这会导致进程关闭并重新打开stderr和stdout文件描述符。

只要您记录到这些流(例如,使用log4j,如下所示),您就不必编写任何Java代码。

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