У меня есть два приложения, файл и консоль, в моем проекте. Я хотел бы настроить свое приложение так:
все регистраторы с именем "my.app. *":
1. log events DEBUG and higher to fileA
2. log events DEBUG and higher to fileB
все остальные регистраторы:
1. log events WARN and higher to fileA
2. log events DEBUG and higher to fileB
В идеале конфигурация должна выглядеть примерно так:
</p>
<pre><code><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="fileA" class="org.apache.log4j.FileAppender">
<!-- configuration -->
</appender>
<appender name="fileB" class="org.apache.log4j.FileAppender">
<!-- configuration -->
</appender>
<logger name="my.app" additivity="false">
<level="DEBUG"/>
<appender-ref ref="fileA"/>
</logger>
<logger name="" additivity="true">
<level="DEBUG"/>
<appender-ref ref="fileB"/>
</logger>
<root>
<level="WARN"/>
<appender-ref ref="fileA"/>
</root>
</log4j>
Однако эта настройка заставляет регистраторы с именем «my.app» регистрироваться только на консоли, а все другие регистраторы - на консоли в режиме WARN и выше. По сути, <logger name="">
игнорируется. Есть ли другой способ эмулировать это поведение с помощью log4j?
PS. Я извиняюсь за плохое форматирование, действительно изо всех сил пытаюсь заставить это работать сегодня вечером: /