DailyRollingFileAppender是日志記錄軟件包Log4J中的一個Appender,它能夠按一定的頻度滾動日志記錄文件。
我們可以按下面的方式配置DailyRollingFileAppender:
log4j.rootCategory=INFO,file log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.DatePattern='.'yyyy-MM-dd log4j.appender.file.File=run.log log4j.appender.file.Append=true log4j.appender.file.Threshold=INFO log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%c %x - %m%n
在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中不用處理的文字要放到單引號(')中,如上面的(.)。如果您對此有疑問可以查閱SimpleDateFormat的文檔。DailyRollingFileAppender中使用這個類來處理DatePattern。
DatePattern格式化之后的文本作為文件名字的后綴。DailyRollingFileAppender不支持格式化之后的文本作為文件名字的前綴。
DailyRollingFileAppender在每一個日志事件(LoggingEvent)附加(append)之前檢查是否需要附加。也就是說如果在一個滾動區間中沒有任何日志記錄,那么這個區間的日志記錄文件就不會形成。
