Как изменить уровни ведения журнала в log4j во время выполнения без перезагрузки сервера Jetty? - PullRequest
0 голосов
/ 23 января 2019

Многие ответы вокруг с опцией .setlevel (), которая не работает в моем случае из-за ниже.

Сценарий:

  • Файл log4j.xml в ресурсах сохраняется в режиме ОШИБКА во время запуска.

Код:

private static Logger logger = Logger.getLogger(test.class);
private static final boolean DEBUG = logger.isDebugEnabled();


if(DEBUG){ //DEBUG will be false as the logging level is set to ERROR
logger.debug("This should print,but it will not print as DEBUG will be set as false during startup"); 
}

Заранее спасибо за ваши предложения.

1 Ответ

0 голосов
/ 23 января 2019

2 решения:

1.Исправьте один

Измените ваш режим на нужный.Вы не должны изменять уровень ведения журнала во время выполнения, как это.На тестовых платформах уровень вашего журнала должен быть DEBUG.На производстве INFO.

2.Грязный

см. Динамически добавьте appender с помощью slf4j и log4j2 .Это должно быть ваше последнее решение.

...