Как изменить уровень журнала во время выполнения без перезапуска приложения Vert.x - PullRequest
0 голосов
/ 16 мая 2018

Я знаю, что мы можем изменить уровень журнала, поместив его в файл 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 по jboss cli.

1 Ответ

0 голосов
/ 16 мая 2018

Этот файл не должен быть собран с приложением.Это просто должно быть в classpath.

Но в любом случае, я не верю, что протоколирование JDK поддерживает горячую перезагрузку файла конфигурации.Есть и другие инструменты ведения журнала, которые делают, хотя.Как и Logback-classic .

Logback-classic может сканировать изменения в своем файле конфигурации и автоматически перенастраивать себя при изменении файла конфигурации.

Например, для перезагрузки каждые пять секунд:

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

Vert.x можно настроить на использование различных каркасов ведения журналов .Для этого вы должны установить системное свойство vertx.logger-delegate-factory-class-name.Поскольку Logback-classic является реализацией slf4j , вам необходимо:

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