如何禁用 Vert.x 的 BlockedThreadChecker?
How to disable the BlockedThreadChecker of Vert.x?
BlockedThreadChecker 在调试 vert.x 代码时会导致大量标准输出。
这个问题涉及vert.x 3.
VertxOptions options = new VertxOptions();
options.setBlockedThreadCheckInterval(1000*60*60);
https://groups.google.com/forum/#!searchin/vertx/BlockedThreadChecker/vertx/MWx8ma7Ig4o/rFqdYdDErtYJ
注意:仅在调试时禁用。否则可能影响 Vert.x 性能的问题不容易定位。
或者你可以添加以下系统属性到vertx启动脚本,将事件循环执行时间设置为10秒(注意输入是NS):
-Dvertx.options.maxEventLoopExecuteTime=10000000000
任何对此感兴趣的人,如果您不想更改顶点选项,您可以将日志级别设置为 ERROR
或 OFF
for BlockedThreadChecker
。
logback.xml 中的配置将如下所示:
<configuration>
...
<logger name="io.vertx.core.impl.BlockedThreadChecker" level="OFF" />
...
</configuration>
我们的线程阻塞问题是在部署期间出现的,因此我们只需在部署期间动态关闭日志记录,并在完成后将其重新打开
log4j2 这看起来像:
org.apache.logging.log4j.core.Logger threadStuckLogger = (org.apache.logging.log4j.core.Logger)LogManager.getLogger(BlockedThreadChecker.class);
Level threadStuckLevel = threadStuckLogger.getLevel();
threadStuckLogger.setLevel(Level.ERROR);
// deploy....
threadStuckLogger.setLevel(threadStuckLevel);
BlockedThreadChecker 在调试 vert.x 代码时会导致大量标准输出。 这个问题涉及vert.x 3.
VertxOptions options = new VertxOptions();
options.setBlockedThreadCheckInterval(1000*60*60);
https://groups.google.com/forum/#!searchin/vertx/BlockedThreadChecker/vertx/MWx8ma7Ig4o/rFqdYdDErtYJ
注意:仅在调试时禁用。否则可能影响 Vert.x 性能的问题不容易定位。
或者你可以添加以下系统属性到vertx启动脚本,将事件循环执行时间设置为10秒(注意输入是NS):
-Dvertx.options.maxEventLoopExecuteTime=10000000000
任何对此感兴趣的人,如果您不想更改顶点选项,您可以将日志级别设置为 ERROR
或 OFF
for BlockedThreadChecker
。
logback.xml 中的配置将如下所示:
<configuration>
...
<logger name="io.vertx.core.impl.BlockedThreadChecker" level="OFF" />
...
</configuration>
我们的线程阻塞问题是在部署期间出现的,因此我们只需在部署期间动态关闭日志记录,并在完成后将其重新打开 log4j2 这看起来像:
org.apache.logging.log4j.core.Logger threadStuckLogger = (org.apache.logging.log4j.core.Logger)LogManager.getLogger(BlockedThreadChecker.class);
Level threadStuckLevel = threadStuckLogger.getLevel();
threadStuckLogger.setLevel(Level.ERROR);
// deploy....
threadStuckLogger.setLevel(threadStuckLevel);