Why does log4j override my log file each time I run the program on UNIX?
With log4j-1.2..8.jar and the following log4j.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
<appender class="org.apache.log4j.DailyRollingFileAppender" name="trace">
<param name="Threshold" value="DEBUG"/>
<param name="File" value="${log.dir}/log4j_daily_trace.log" />
<param name="Append" value="true"/>
<param name="ImmediateFlush" value="true"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd-HH.mm.ss.SSS::}%-5p %m"/>
</layout>
</appender>
<appender name="dailyRollingFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${log.dir}/log4j_daily_trace.log"/>
<param name="Append" value="false"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%-5p],[%d{dd MMM yyyy HH:mm:ss,SSS}],[%-15t],[%-50c],
%m%n"/>
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="dailyRollingFileAppender" />
</root>
</log4j:configuration>
While running on PC, log4j appends to log4j_daily_trace.log each time when I execute the program as expected. The problem is that log4j always overrides log4j_daily_trace.log each time the program is executed on UNIX. Both PC and UNIX use the same log4j.xml and log4j-1.2.8.jar and both run at java 1.3 level.
Can anyone tell me why there is such behavior difference?
Thanks.