My Oracle Support Banner

12.1.3.0 版本 slf4j 导致的日志输出行为不同 (Doc ID 2065651.1)

Last updated on APRIL 17, 2020

适用于:

Oracle WebLogic Server - 版本 12.1.3.0.0 到 12.1.3.0.0 [发行版 12c]
本文档所含信息适用于所有平台

症状

 升级 Weblogic Server 10.3.5 到 12.1.3.0. 压力测试过程中发现性能下降明显,Server log 文件和标准输出重定向文件增长非常快,写入大量 warning 级别的信息。 

很多线程阻塞在输出日志的代码,如下面的 Thread dump 显示:

"BLOCKED on java.util.logging.ConsoleHandler@49e2b636 owned by "[ACTIVE] ExecuteThread: '96' for queue: 'weblogic.kernel.Default (self-tuning)'" Id=186 

"[ACTIVE] ExecuteThread: '96' for queue: 'weblogic.kernel.Default

(self-tuning)'" Id=186 RUNNABLE (in native) 
at java.io.FileOutputStream.writeBytes(Native Method) 
at java.io.FileOutputStream.write(FileOutputStream.java:356) 
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:93) 
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:151) 
- locked java.io.BufferedOutputStream@ff578958 
at java.io.PrintStream.flush(PrintStream.java:362) 
- locked java.io.PrintStream@dac4c760 
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:309) 
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:153) 
- locked java.io.OutputStreamWriter@392d4fc 
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:289) 
- locked java.io.PrintStream@dac4c760 
at java.util.logging.StreamHandler.flush(StreamHandler.java:253) 
- locked java.util.logging.ConsoleHandler@49e2b636 
at java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:117)
at java.util.logging.Logger.log(Logger.java:621)
at org.slf4j.impl.JDK14LoggerAdapter.log(JDK14LoggerAdapter.java:588)

在 10.3.5, 10.3.6 版本都没有遇到这个问题。

原因

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


文档内容
症状
原因
解决方案
参考

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.