Регистрация сообщений журнала из разных пакетов в разные файлы - PullRequest
4 голосов
/ 22 апреля 2009

Предположим, у меня есть эти пакеты в моем приложении - foo.bar и foo.foobar, и я хочу отправить все сообщения журнала log4j, поступающие из пакета foo.bar, в файл foobar.log и сообщения журнала, поступающие от foo. Как настроить файл log4j.xml на файл foobar to foofoobar.log?

Ответы [ 3 ]

5 голосов
/ 22 апреля 2009

Вы можете использовать appender-ref в конфигурации регистратора:

<logger name="foo.bar">
    <level value="debug"/>
    <appender-ref ref="FILE1" />
</logger>

Посмотрите здесь для полных примеров.

1 голос
/ 04 мая 2011

Я только что понял это позже и собрал объяснение в блоге, который может помочь другим людям, которые читают эту страницу.

Как отправлять сообщения журнала в разные файлы журнала

1 голос
/ 08 августа 2009

Я предлагаю также установить additivty на «false», если у вас есть перекрывающиеся иерархии и вы не хотите дублировать сообщения журнала.

т.е:

<logger name="foo.bar">
    <level value="debug"/>
    <appender-ref ref="FILE1" />
</logger>
<logger name="foo.bar.xyz" additivity="false">
    <level value="debug"/>
    <appender-ref ref="FILE2" />
</logger>

Таким образом, сообщения, направленные на FILE2, не будут записываться в FILE1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...