gpt4 book ai didi

java - 如何在运行时更改日志级别而不重新启动 Vert.x 应用程序

转载 作者:行者123 更新时间:2023-11-30 02:10:10 25 4
gpt4 key购买 nike

我知道我们可以通过将其放入 vertx-default-jul-logging.properties 文件来更改日志级别。

java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.level=FINER

java.util.logging.FileHandler.limit=10000000
java.util.logging.FileHandler.count=10
java.util.logging.FileHandler.level=FINER
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter

但是当我们更改此文件中的日志级别时,我需要重新启动应用程序,因为它是使用应用程序构建的。有没有什么方法可以在不重新启动应用程序的情况下更改日志级别,就像我们可以通过 jboss cli 在 jboss 中所做的那样。

最佳答案

此文件不必与应用程序一起构建。它只需位于类路径上即可。

但无论如何,我不相信 JDK 日志记录支持配置文件的热重载。不过还有其他日志工具可以做到这一点。喜欢Logback-classic .

Logback-classic can scan for changes in its configuration file and automatically reconfigure itself when the configuration file changes.

例如,每五秒重新加载一次:

<configuration scan="true" scanPeriod="5 seconds" > 
...
</configuration>

Vert.x 可以配置为使用 different logging frameworks 。为此,您必须设置 vertx.logger-delegate-factory-class-name 系统属性。由于 Logback-classic 是一个 slf4j 实现,因此您需要:

-Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.SLF4JLogDelegateFactory

关于java - 如何在运行时更改日志级别而不重新启动 Vert.x 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50363129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com