фильтрация log4j на основе EAR

#logging #log4j #weblogic #filtering

#ведение журнала #log4j #weblogic #фильтрация

Вопрос:

В настоящее время наше приложение ведет журнал с использованием Log4j на уровне приложения. Существует по меньшей мере 8 EAR файлов, которые развертываются при запуске сервера. Все 8 EAR регистрируются в файле File1.log. Я хочу отделить 1 ear. Например, 7 файлов EAR должны продолжать регистрацию в файле File1.log, однако 8-й, скажем, ABCD.EAR, должен войти в файл ABCD.LOG.

Ответ №1:

Я полагаю, что я понял это. Хотя это было простое решение, но все примеры в Интернете были основаны на файле .properties, и я искал конфигурацию файла .xml.

  1. Прежде всего, мне нужен appender

    < имя приложения = «ABCD» class=»org.apache.log4j.RollingFileAppender»> < имя параметра=»File» value=»./logs/ABCD.log» /> < имя параметра=»Append» value=»true» /> < имя параметра=»MaxFileSize» value=»100MB» /> < имя параметра=»MaxBackupIndex» value=»10″ /> < класс макета=»provision.services .ведение журнала.PSPatternLayout»> < имя параметра=»conversionPattern» значение=»%d %D %S %-5p {%P} %#: [%-17c{5} %T] %m%n» /> < /layout> < /appender>

  2. Затем мне нужно сообщить регистратору, иерархию какого класса регистрировать, используя это. Файл ABCD.ear имеет иерархию файлов как project.abcd.* . Поэтому я добавил эту строку в log4j.xml

    < имя регистратора =»project.abcd»> < значение уровня =»INFO»/> < ссылка на приложение ref=»ABCD»/> < /logger>

Я надеюсь, что это было бы полезно для кого-то еще.

P.S: Что не так с форматированием XML в окне редактирования ?? … мой xml раньше не был виден, затем мне пришлось добавить пробелы, и теперь он не «отформатирован» должным образом .. : s

Комментарии:

1. Я все еще ищу проблему. Есть несколько классов, которые не подпадают под project.abcd.* но они все еще находятся под ABCD.EAR . Как я могу добавить ведение журнала на основе EAR, а не на ИЕРАРХИЧЕСКОМ УРОВНЕ КЛАССА