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

Java 如何在运行时更改日志级别而不重新启动Vert.x应用程序,java,logging,vert.x,Java,Logging,Vert.x,我知道我们可以通过将日志级别放入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.Fi

我知道我们可以通过将日志级别放入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可以扫描其配置文件中的更改,并在配置文件更改时自动重新配置自身

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

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

谢谢你的建议。那会有帮助的
-Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.SLF4JLogDelegateFactory