[英]log4j. Unique log-file name
如何使用log4j
創建唯一命名的日志文件? 當我使用Logback
,我可以這樣做:
<!-- current time formatted as "yyyyMMdd'T'HHmmss". This value will be available to all
subsequent configuration elements. -->
<timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss" />
和logger appender內部定義文件名模式:
<file>${bySecond}.log</file>
我相信在開箱即用的log4j 1.7中不支持此功能。 但是您可以通過更改fileName
參數來擴展RollingFileAppender
的setFile
方法,以支持基於時間的功能。
DailyRollingFileAppender
會將當前日期附加到下一個文件,因此您將獲得一個唯一的名稱,該名稱以每個文件的日志日期結束。 引用JavaDoc:
例如,如果File選項設置為/foo/bar.log並且DatePattern設置為'.'yyyy-MM-dd,則在2001-02-16午夜,日志文件/foo/bar.log將為復制到/foo/bar.log.2001-02-16並記錄2001-02-17將在/foo/bar.log中繼續,直到第二天滾動。
添加像這樣到你的屬性的XML文件:
<appender name="roll" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="application.log" />
<param name="DatePattern" value=".yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MMM-dd HH:mm:ss,SSS} [%t] %c %x%n %-5p %m%n"/>
</layout>
</appender>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.