Я пытаюсь настроить ведение журнала приложения на сервере Glassfish. Я использую SLF4j для агрегирования всего и привязку Logback для записи файлов. Также я добавил в проект библиотеки log4j-over-slf4j
, jul-to-slf4j
и jcl-over-slf4j
. Конечно, slf4j-api
и Logback тоже есть. Все библиотеки находятся в проекте WEB-INF/lib
и в glassfish/lib/endorsed
.
Итак, идея такова: перенаправить все на SLF4j, а затем войти в систему с помощью Logback.
В коде у меня есть следующий кусок для теста:
jclLog.debug("Login JCL: Debug level");
jclLog.error("Login JCL: Error level");
log4jLog.debug("Login Log4j: Debug level");
log4jLog.error("Login Log4j: Error level");
slfLog.debug("Login SLF4j: Debug level");
slfLog.error("Login SLF4j: Error level");
После выполнения в лог-файлах, настроенных для Logback, есть записи журнала og Log4j и SLF4j. Но записей JCL там нет. Вместо этого они попадают в файл server.log.
Вопрос в том, почему записи JCL отлавливаются с помощью регистратора Glassfish и как это можно предотвратить?