2010-12-03 224 views
2

因此,我們使用Log4j的DailyRollingFileAppender來創建我們的日誌文件。這非常好,因爲它可以爲每天或每小時創建一個新文件。我們希望appender根據當天創建一個新文件夾,然後根據小時創建新的日誌文件。這可能嗎?Log4j配置:如何爲每一天創建一個新文件夾?

這是我們目前的配置...目前設置爲轉儲所有日誌文件(每小時創建)到someFolder。我想我們可以做一些花哨的「文件」參數做我們想要的:

<appender name="PlainFileAppender" class="org.apache.log4j.DailyRollingFileAppender"> 
     <param name="File" value="someFolder/someFileName_plain.log" /> 
     <param name="DatePattern" value=".yyyy-MM-dd-HH" /> 
      <param name="ImmediateFlush" value="true" /> 
      <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" 
       value="%d %-5p [%t] %c{1}: %m%n" /> 
     </layout> 
      <filter class="com.trgr.cobalt.infrastructure.logging.ClassFilter"> 
       <param name="classNameFilter" value="com.trgr.cobalt.infrastructure.logging.LogRecord" /> 
       <param name="acceptOnMatch" value="false" /> 
       <param name="neutrality" value="true" /> 
      </filter> 
    </appender> 

回答

4

這是不可能與附加器,因爲它總是追加日期到指定的文件名(所以你不能指定一些特殊的文件名來實現你的結果),並且不會創建丟失的目錄,即使你指定了一些奇特的日期模式。

所以你可以自己寫一個appender或者在某處找到這樣一個自定義的log4j appender。 Log4j的後繼者,logback,has such an appender

相關問題