1. 程式人生 > >log4j配置每天生成一個日誌檔案

log4j配置每天生成一個日誌檔案

本文僅記錄tomcat下配置成功的記錄,不作log4j配置的詳細使用解釋。

該配置在tomcat的logs資料夾下每天產生新的日誌檔案(DEBUG級別:log.log)(ERROR級別:error.log),然後將前一天的日誌檔案log.log和error.log的名稱修改為log.log_yyyy-MM-dd.log和error.log_yyyy-MM-dd.log(yyyy-MM-dd替換為該檔案最後修改的日期)

#配置根Logger

log4j.rootLogger = debug,stdout,D,E


### 輸出到控制檯 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n


### 輸出到日誌檔案 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
###設定DatePattern,當天日誌儲存到log.log檔案,前一天的日誌檔名將被修改為

#log.log + _yyyy-MM-dd.log
log4j.appender.D.File =../logs/log.log
log4j.appender.D.DatePattern = '_'yyyy-MM-dd'.log'
log4j.appender.D.Append = true
## 輸出DEBUG級別以上的日誌
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n



### 儲存異常資訊到單獨檔案 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
###設定DatePattern,當天日誌儲存到error.log檔案,前一天的日誌檔名將被修改為
#error.log + _yyyy-MM-dd.log
log4j.appender.E.File =../logs/error.log
log4j.appender.E.DatePattern = '_'yyyy-MM-dd'.log'
log4j.appender.E.Append = true
## 只輸出ERROR級別以上的日誌!!!
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout

log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %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中不用處理的文字要放到單引號(')中,如上面的(.)。