0

次のlog4j2.xmlファイルを使用しています。

<configuration>
    <appenders>
        <RollingFile name="logfile" fileName="C:/opt/log/views/views.log"
                     filePattern="C:/opt/log/views/views.%d{yyyy-ww}.log.gz">
            <Policies>
                <TimeBasedTriggeringPolicy />
            </Policies>
            <DefaultRolloverStrategy max="3" />
            <PatternLayout pattern="%d{ISO8601} VIEWS[%p][%c]...." />
        </RollingFile>
    </appenders>
    <loggers>
        <root level="TRACE">
            <appender-ref ref="logfile" />
        </root>
    </loggers>
</configuration>

ファイルを調整してサーバーを起動すると、一度に1つのログメッセージが表示されます。追加ではなく、ファイル内の唯一の行を新しい行ごとに置き換えます。私はこれに少し困惑していて、誰かがこれを以前に見たことがあることを望んでいます。前もって感謝します。

4

2 に答える 2

1

私の知る限り、構成に問題はありません (少なくとも、私のマシンでは期待どおりに動作します)。

おそらく問題は次のパターンにあります。

%d{ISO8601} VIEWS[%p][%c]....

最後に%n(改行) がないので、すべてが事実上同じ行に書き込まれます。

于 2013-03-04T21:09:12.143 に答える
0

まったく同じ問題で時間を費やしました。log4j2 (beta9) の TimeBasedTriggeringPolicy が処理できる最大の時間単位は、(構成のように) 1 週間や 1 か月ではなく 1 日であると確信しています。

テストする: 構成を次のように変更します。

 <RollingFile name="logfile" fileName="C:/opt/log/views/views.log"
     filePattern="C:/opt/log/views/views.%d{yyyy-MM-dd}.log.gz">

そしてそれは魔法のように機能するはずです。

これはすでにバグとしてここで報告されていますが、(今日の時点で) 修正されていません: https://issues.apache.org/jira/browse/LOG4J2-385

于 2013-10-28T22:31:21.287 に答える