3

大きなプロジェクトを log4j2 に移植した後、例外のロギングが機能しないことに気付きました。そのようなコード

logger.error("Error occurred", e);

例外コール スタックをログに記録しません。上記の行のログには次のみが含まれます。

21/07/2013 15:51:34 ERROR [MyTask-1] [MyManager] Error occurred

ロガーの設定にご協力ください。

更新: 私の log4j2.xml は一般的に次のようになります (残りのアペンダーとロガーを削除しました):

<?xml version="1.0" encoding="UTF-8"?>
<configuration name="server" monitorInterval="30">
<appenders>
    <!-- ################# All Appender ############################### -->
    <RollingFile name="AllAppender" fileName="${sys:workspace}/logs/all.log" filePattern="${sys:workspace}/archive/logs/all_%d{yyyy-MM-dd_HH}.log">
        <PatternLayout>
            <pattern>%d{dd/MM/yyyy HH:mm:ss} %-5p [%t] [%c{1}] %m%n</pattern>
        </PatternLayout>
        <Policies>
            <OnStartupTriggeringPolicy />
            <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            <SizeBasedTriggeringPolicy size="10 MB"/>
        </Policies>
        <DefaultRolloverStrategy max="50"/>
    </RollingFile>

</appenders>

<loggers>
    <!-- #################################################################################################### -->
    <!-- ################################### Loggers definitions ############################################ -->
    <!-- #################################################################################################### -->

    <logger name="com" level="debug">
        <appender-ref ref="AllAppender" />
    </logger>

    <root level="debug">
        <appender-ref ref="AllAppender"/>
    </root>

</loggers>

ところで、monitorInterval は私には機能しません。ロガー構成を更新するには、Tomcat を再起動する必要があります。

4

1 に答える 1

3

どのバージョンの log4j2 を使用していますか? これは古いベータ版の問題だったのを覚えていますが、ベータ 5 前後で修正されました... 最近のベータ版を使用している場合は、バグ レポートを提出していただけますか?

%m%n回避策として、パターンの最後を に置き換えることができます%m%ex%n

于 2013-07-21T22:51:49.133 に答える