0

ログが正しく書き込まれない

slf バージョン slf4j-api-1.7.5.jar、slf4j-log4j12-1.7.5.jar、log4j-1.2.16.jar

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!-- log4j generic catchall for adapters. -->
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Example DailyRollingFile appender, this is the preferred logging appender -->

    <appender name="CommonAdapterAppender" class="org.apache.log4j.DailyRollingFileAppender">
      <param name="file" value="/opt/adapter.log" />
      <param name="encoding" value="UTF-8" />
      <param name="append" value="true" />
      <!-- Rollover at the top of every hour -->
      <param name="DatePattern" value="'.'yyyy-MM-dd-HH" />
      <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern"
          value="%d{yyyy-MM-dd HH:mm:ss.SSS-zzz} %5p [%t] %c{1} - %m%n" />
      </layout>
    </appender>

    <!-- Categories -->
    <category name="com.other" additivity="false">
      <priority value="warn" />
    </category>

    <logger name="com.adapter" additivity="false">
        <level value="debug" />
        <appender-ref ref="CommonAdapterAppender"/>
    </logger>
    <logger name="com.adaptations" additivity="false">
        <level value="debug" />
        <appender-ref ref="CommonAdapterAppender"/>
    </logger>

    <root>
        <priority value="error" />
        <appender-ref ref="CommonAdapterAppender" />
        <!-- <appender-ref ref="SyslogAppender"/> -->
    </root>
</log4j:configuration>

上記の log4j ファイルは、複数のアダプターによって使用されます。初めて adapter.log に書き込みを行い、その後は一部のコンポーネント ログのみが書き込まれます。また、2回目以降、adapter.logにいくつかのログが書き込まれていることに気付きました..

ここで何が問題なのか理解できません。誰かが私を助けてくれますか?

4

1 に答える 1

0

同じログ ファイルを使用する場合は、すべてのアダプターに対して単一の共有ログ 4J 構成とインスタンスを使用する必要があると思います。

現状では、Log 4j インスタンスはおそらくファイルの制御をめぐって競合しています。

于 2013-07-18T12:11:10.670 に答える