2012-10-31 58 views
0

我想添加時間戳到日誌文件,如下所示。如何給日誌文件名添加時間戳

accesslogs.2012-10-31-02-39.log

我試着用DailyRollingFileAppender,並能夠添加時間戳,但經過「.LOG」並導致accesslogs.log附加時間戳。 2012-10-31-02-39和Maxsize屬性也是DailyRollingFileAppender中的任務。
所以有什麼其他的方式,我可以添加時間戳記到日誌文件。

下面的log4j.xml的代碼片段

<appender name="roll" class="org.apache.log4j.DailyRollingFileAppender"> 
      <param name="DatePattern" value="'.'yyyy-MM-dd-hh-mm'.log'" /> 
      <param name="File" value="C:\\Users\\sharmag\\logsfile.log" />  
      <layout class="org.apache.log4j.PatternLayout"> 
       <param name="ConversionPattern" value="%d %-5p (%15F:%L) %3x - %m (%c)%n"/> 
      </layout> 
    </appender> 

任何幫助將非常感激。

感謝

回答

2

你不能用Log4J的做到這一點的開箱。下面是Log4j的源代碼片段:

String datedFilename = fileName+sdf.format(now);

這就是Log4J的是如何建立的文件名:格式化日期對象,並將其附加到文件名。

不幸的是,DailyRollingFileAppender的設計方式,你不能有效地繼承它以定製這種行爲,所以我不得不相信你的問題的答案是「不」。

(除非你開發自己的實施FileAppender

EDITED(五個月後)...

如果使用Log4J的額外(由Log4J的社區提供)你可以做到這一點。看看TimeBasedRollingPolicy。不過,您最終會使用不同於DailyRollingFileAppender的appender。

+0

感謝您的回覆...將嘗試找出一些解決方法.. – Gautam

相關問題