Logback 不会在 Weblogic 12c 中打印任何日志

Logback doesn't print any log in Weblogic 12c

我想从 java.util.logging.Logger 搬到 Logback。首先,我在 dependency.jar 文件中使用它。 MyApp.ear 还在用 java logger.

下面是logback.xml.

<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
     ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n  
      </pattern>
    </encoder>
  </appender>
  <root level="WARN">          
     <appender-ref ref="STDOUT" />
  </root>  
</configuration>

我将以下依赖的 jar 文件添加到我的 ant build 文件中。

  <pathelement location="${global.lib}/slf4j-api-1.6.4.jar"/>
  <pathelement location="${global.lib}/logback-classic-1.0.1.jar"/>

我用weblogic 12C。现在我的日志级别是WARN。但 INFO 日志仍在打印。这意味着它仍然使用 java logger。我怀疑 dependent.jar logback logMyApp.ear 中的 java logger 覆盖了。

我不确定 weblogic 12C 中是否有任何地方可以修改以启用它。

logback.xmldependency.jar.

内可用

我在 build.xml

中添加了以下 jar 路径
<pathelement location="${global.lib}/logback/logback-core-1.0.10.jar"/>

此外,我在 weblogic-application.xml.

中添加了以下代码
<wls:prefer-application-packages>
    <wls:package-name>org.slf4j.*</wls:package-name>
</wls:prefer-application-packages>
<wls:prefer-application-resources>
    <wls:resource-name>org/slf4j/impl/StaticLoggerBinder.class</wls:resource-name>
</wls:prefer-application-resources>

这解决了我的问题。