<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<param name="Threshold" value="debug" />
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
</layout>
</appender>
<!-- <appender name="myFile" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${web.root}/logs/HMP.log" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="500KB" />
<param name="MaxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n" />
</layout>
</appender> -->
<appender name="myFile" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="d:/logs/HMPService/HMPService.log" />
<param name="Append" value="true" />
<param name="DatePattern" value="'_'yyyy-MM-dd'.log'" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} %-5p [%c{1}] %m%n"/>
</layout>
</appender>
<root>
<priority value ="info"/>
<appender-ref ref="CONSOLE" />
<appender-ref ref="myFile"/>
</root>
<category name="com.xinbo">
<priority value="debug" />
<appender-ref ref="CONSOLE" />
<appender-ref ref="myFile"/>
</category>
</log4j:configuration>
在DailyRollingFileAppender中可以指定monthly(每月)、 weekly(每周)、daily(每天)、half-daily(每半天)、hourly(每小时)和minutely(每分钟)六个频度,这是通过为 DatePattern选项赋予不同的值来完成的。DatePattern选项的有效值为:
'.'yyyy-MM,对应monthly(每月)
'.'yyyy-ww,对应weekly(每周)
'.'yyyy-MM-dd,对应daily(每天)
'.'yyyy-MM-dd-a,对应half-daily(每半天)
'.'yyyy-MM-dd-HH,对应hourly(每小时)
'.'yyyy-MM-dd-HH-mm,对应minutely(每分钟)
DatePattern中不用处理的文字要放到单引号(')中,如上面的(.)。
注意:1、不需要处理的字符要加单引号,如上面可选值中的'.',还有示例中的'.log'
2、生成的第一个文件不会带有日期后缀,过了DatePatten所设定的间隔后,再生成新的文件后,之前的文件就会被转换成带日期格式的文件。