Log4j: исключить журнал из консоли, но создать новый файл журнала для этих журналов - PullRequest
0 голосов
/ 20 февраля 2019

Мой проект Java содержит следующие пакеты - com.main.log4j.main, com.main.log4j.other.

Я хочу удалить строки журнала пакета "com.main.log4j.other"из журнала консоли, скорее сохраняйте другой файл журнала для того же пакета.Я использую Log4j версии 1.2.16 со следующей конфигурацией log4j.xml.

<appender name="CONSOLE-LOG" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="..." />
    </layout>
</appender>

<appender name="OTHER-LOG" class="org.apache.log4j.FileAppender">
    <param name="File" value="logs/Others.log" />
    <param name="Threshold" value="DEBUG" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="..." />
    </layout>
</appender>

<category name="com.main.log4j.other">
    <appender-ref ref="OTHER-LOG" />
</category>
<root>
    <level value="debug" />
    <appender-ref ref="CONSOLE-LOG" />
</root>

Используя эту конфигурацию, создается отдельный файл журнала Others.log со строкой журнала, но эти строки журнала все еще присутствуют вконсольный журнал.Я хочу исключить их.Подскажите пожалуйста, как мне настроить log4j.xml?

1 Ответ

0 голосов
/ 20 февраля 2019

Установите additivity в false в вашей категории "com.main.log4j.other":

<category name="com.main.log4j.other" additivity="false">

Это предотвратит запись этих журналов в корневой регистратор.

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