log4j Фатальный уровень регистрации требуется - PullRequest
0 голосов
/ 31 августа 2018

Это мой log4j.xml. я хочу только FATAL журнал из пакета com.xyz.rest должен печатать в /LOGS/Acb/d.log файл.

Но я также могу видеть Debug логи уровня в файле. Почему log4j печатает журналы уровня Debug из пакета com.xyz.rest.

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">

<appender name="Def" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="/LOGS/Acb/d.log"/>
        <param name="MaxFileSize" value="10000KB"/>
        <param name="MaxBackupIndex" value="10"/>

        <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d [%t] %-5p [%c{1}] %m%n"/>
        </layout>
</appender>
<logger name="com.xyz.rest">
        <logger value="fatal"/>
        <appender-ref ref="Def"/>
</logger>

</log4j:configuration>

1 Ответ

0 голосов
/ 31 августа 2018

Это потому, что с помощью следующего кода вы добавляете другой журнал level к вашему com.xyz.rest пакету, который не удаляет уровень debug, который ваш пакет наследует от родителей:

<logger name="com.xyz.rest">
        <logger value="fatal"/>
        <appender-ref ref="Def"/>
</logger>

Вам нужно установить для additivity значение false, чтобы вместо добавления другого уровня журнала вы устанавливали уровень журнала:

<logger name="com.xyz.rest" additivity="false">
        <logger value="fatal"/>
        <appender-ref ref="Def"/>
</logger>

Более подробную информацию можно найти здесь .

Не уверен, но может также потребоваться заключить теги <logger></logger> в тег <loggers></loggers>

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