3

?を使用して一意の名前のログファイルを作成するにはどうすればよい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" />

ロガーアペンダー内でファイル名パターンを定義します。

<file>${bySecond}.log</file>
4

2 に答える 2

0

すぐに使えるlog4j 1.7では、この機能はサポートされていないと思います。ただし、パラメータを変更して時間ベースの機能をサポートすることにより、RollingFileAppendersetFileメソッドを拡張できます。fileName

于 2012-12-22T19:37:56.650 に答える
0

DailyRollingFileAppender次のファイルにロールオーバーした後に現在の日付が追加されるため、すべてのファイルのログの日付で終わる一意の名前が付けられます。JavaDoc を引用:

たとえば、File オプションが /foo/bar.log に設定され、DatePattern が '.'yyyy-MM-dd に設定されている場合、2001 年 2 月 16 日の午前 0 時に、ログ ファイル /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>
于 2012-12-28T17:01:06.943 に答える