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

时间:2018-05-16 05:36:30

标签: 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.FileHandler.count=10
java.util.logging.FileHandler.level=FINER
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter

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

1 个答案:

答案 0 :(得分:2)

此文件不必与应用程序一起构建。它只需要在类路径上。

但无论如何,我不相信JDK日志记录支持热重装配置文件。还有其他日志工具可以做到。与Logback-classic一样。

  

Logback-classic可以扫描其配置文件中的更改,并在配置文件更改时自动重新配置。

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

<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