log4j.logger.org.jasig.cas не попадает в журналы приложений
Мы используем cas-client-core-3.3.3.jar для обеспечения функциональности единого входа в нашем приложении, и мы пытаемся добавить журналы этой библиотеки jar в наши журналы приложений.
Наше приложение является приложением, основанным на веб-логике, и мы используем log4j для ведения журнала.
Поэтому для получения журналов cas-client-core-3.3.3.jar в журнале приложений мы добавили это свойство в наши log4j.properties
log4j.logger.org.jasig.cas=DEBUG
но мы не получаем журналы, ожидаемые от классов org.jasig.cas. Я прилагаю образец журнала здесь, который ожидается
2015-05-13 10:00:17,798 DEBUG [org.jasig.cas.client.validation.Saml11TicketValidator.<constructValidationUrl>] - Placing URL parameters in map.
2015-05-13 10:00:17,801 DEBUG [org.jasig.cas.client.validation.Saml11TicketValidator.<constructValidationUrl>] - Calling template URL attribute map.
2015-05-13 10:00:17,802 DEBUG [org.jasig.cas.client.validation.Saml11TicketValidator.<constructValidationUrl>] - Loading custom parameters from configuration.
2015-05-13 10:00:17,803 DEBUG [org.jasig.cas.client.validation.Saml11TicketValidator.<validate>] - Constructing validation url:
1 ответ
Отказ от ответственности: я никогда не работал с Web Sphere, но много работал с различными системами ведения журналов, поэтому мой ответ основан на моем опыте в этой области.
Во-первых, cas использует slf4j под капотом, и это здорово. Slf4j - это всего лишь интерфейс (slf4j-api jar), и если вы хотите использовать его с log4j, который является конкретной реализацией системы ведения журналов, которая ничего не знает о slf4j apis, вы должны предоставить реализацию интерфейсов sfl4j, которая будет делегировать вызовы log4j лесорубы. Таким образом, вы должны также включить такой адаптер в classpath. Вот ссылка.
Теперь, если это не работает, то, вероятно, свойства log4j.properties настроены неправильно, например, у регистратора нет связанных или неправильных дополнений. Я нашел лучший способ проверить это, просто поставить точку останова на вызов регистратора (внутри библиотеки cas) и увидеть следующее:
- Какая реализация интерфейса slf4j фактически используется (как я уже говорил
org.sl4j.Logger
это просто интерфейс, и его нужно как-то создавать с реальным объектом реализации, вы знаете) - Смотрите связанные дополнения к базовой реализации.
Что касается второго пункта, в зависимости от имеющихся у вас технологий / сред, вы можете получить эту информацию через JMX или какой-либо интерфейс веб-администратора. Отладка - это "грубый" общий способ выяснить это.