SLF 4j日志不会写入日志

时间:2013-07-18 10:59:02

标签: java log4j slf4j

日志写得不正确

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,之后只写入一些组件日志。另外我注意到,在第二次写入少量日志到adapter.log ..

之后

我无法理解这里出了什么问题。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

如果您想使用相同的日志文件,我相信您应该为所有适配器使用单个共享日志4J配置和实例。

原样,Log 4j实例可能正在竞争文件的控制。