标准Unix守护程序支持信号HUP来旋转日志文件。当守护进程收到信号时,它会关闭所有日志文件并重新打开它们。
我使用Apache Commons Daemon在Java中有一个守护进程。守护进程实现支持三种方法:init,start和stop。但我找不到任何对Unix信号的支持。如何支持HUP信号来旋转日志文件?
答案 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>