Уровень Log4j не работает для корневого регистратора - PullRequest
0 голосов
/ 06 июня 2019

Хорошо, это сводит меня с ума. У меня есть приложение, которое использует log4j 1.2.16, мой файл конфигурации правильно подобран и log4j пишет в нужный файл, НО только регистрирует уровень ошибок.

Код:

    import org.apache.log4j.Logger;

     - (... code omitted)

    private static final Logger LOGGER = Logger.getLogger(PostLoginController.class);

    LOGGER.debug("TOTO debug");
    LOGGER.info("TOTO Info");
    LOGGER.warn("TOTO warn");
    LOGGER.error("TOTO error");

XML:

<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/jboss/jboss-eap-6.4/standalone/log/myLogFile.log"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%t:%c] : %m%n"/>
    </layout>
</appender>

<!-- Root Logger -->
<root>
    <priority value ="debug" />
    <appender-ref ref="fileAppender"/>
</root>

Когда мое приложение запускается, создается myLogFile, и я вижу в нем журнал ошибок, но не другие:

2019-06-06 19:37:31 ERROR [http-/0.0.0.0:8080-2:my.classpath.PostLoginController] : TOTO error

Есть идеи, что здесь не так?

Ответы [ 2 ]

1 голос
/ 06 июня 2019

Вы должны использовать это для регистрации отладки к ошибке.

<log4j:configuration debug="false">

    <appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
        <param name="target" value="System.out" />
        <param name="threshold" value="debug" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{ISO8601} %-5p [%c{1}] - %m%n" />
        </layout>
    </appender>

    <appender name="fileAppender" class="org.apache.log4j.FileAppender">
        <param name="file" value="/jboss/jboss-eap-6.4/standalone/log/myLogFile.log"/>
        <param name="append" value="false" />
        <param name="threshold" value="debug" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{ISO8601} %-5p [%c{1}] - %m%n" />
        </layout>
    </appender>

    <root>
        <priority value="info" />
        <appender-ref ref="default.console" />
        <appender-ref ref="default.file" />
    </root>
</log4j:configuration>
0 голосов
/ 06 июня 2019

Ладно, разобрался. Я должен был добавить

    <category name="my.classpath">
        <priority value="all" />
        <appender-ref ref="fileAppender" />
    </category>

потому что каким-то образом уровень rootLogger не может быть изменен.

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