Журналирование Jboss, упаковывающее мои сообщения log4j - PullRequest
3 голосов
/ 15 февраля 2012

У меня странная проблема с Log4J под JBoss 7.1.0CR1b (сейчас мы просто портируем на JBoss, не знаю, случится ли это в более старых версиях).Строки журнала из моего EAR-файла оборачиваются на уровне INFO.Так, например, моя строка журнала выглядит следующим образом:

13:09:14,684 INFO  ERROR  CRK TEST! 

Фактическая строка журнала использует log4j Logger.error («CRK TEST!»).Откуда взялась дополнительная информация?Я предполагаю, что сообщение регистратора каким-то образом оборачивается регистратором JBoss, поскольку этого не происходит с сообщениями чистого контейнера JBoss, такими как:

13:08:07,177 INFO  [org.jboss.msc] JBoss MSC version 1.0.1.GA

Я возился с различными настройками log4j и пытался пройтисьотладчик, но не знаю, почему это происходит.Есть идеи?

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Я думаю, что log4j записывает в стандартный вывод, который JBoss STDIO принимает и выводит как сообщения INFO в JBoss Log Manager.

Существует план ведения журнала развертывания, который может решить эту проблему, если только ваш аппендер не всегда пишет в стандартный вывод.

Таким образом, вашим лучшим решением будет посмотреть на используемый вами appender и посмотреть, где он пишет. Если он пишет в стандартный вывод, он всегда будет выглядеть так.

0 голосов
/ 15 февраля 2012

Я бы предположил, что ваш регистратор каким-то образом подключен к System.out и / или System.err и что кто-то (возможно, JBoss, возможно, какой-то другой EAR / WAR / ...) установит пользовательский OutputStream, который упаковывает все напечатанноек нему в другое сообщение регистратора.Возможно, пропущенная часть «[...]» указывает на то, что был использован корневой логгер.

Вы можете проверить это, распечатав что-то напрямую в потоки ботов, выбрав корневой логгер и протолкнув немного INFOs в это.

Другое предположение, что ваши файлы jar logjj каким-то образом конфликтуют с материалом slf4j, распространяемым JBoss / Hibernate.

...