Как настроить уровни log4j во время выполнения?
Вопрос
У меня есть простое веб-приложение, работающее на Tomcat 5.5 с log4j для ведения журнала. Иногда мне нужно перенести регистрацию на DEBUG, но большую часть времени я доволен информацией.
Я могу изменить мой config xml и перезапустить приложение, но я бы предпочел переключать уровни журнала на лету. Есть ли стандартная техника для этого?
Решение
Просто используйте программную API :
logger.setLevel(Level.DEBUG)
в вашей программе, когда вам нужно больше подробного вывода журнала, и
logger.setLevel(Level.INFO)
чтобы снова сделать его менее многословным.
Другие советы
Я создал новый модуль Java-приложения (jar), чтобы сделать это в веб-интерфейсе во время выполнения, а также у меня есть страница для просмотра результатов журнала.
Настроить jar очень просто: нужно поместить его в папку / WEB-INF / lib
и добавить отображение в сервлет в /WEB-INF/web.xml
файл.
Сайт проекта: http://www.log4jwebtracker.com