Log4j 级别不适用于根记录器

好吧,这让我抓狂。我有一个使用 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

知道这里出了什么问题吗?


慕尼黑的夜晚无繁华
浏览 107回答 2
2回答

白衣非少年

您必须像这样使用将调试记录到错误。<log4j:configuration debug="false">&nbsp; &nbsp; <appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">&nbsp; &nbsp; &nbsp; &nbsp; <param name="target" value="System.out" />&nbsp; &nbsp; &nbsp; &nbsp; <param name="threshold" value="debug" />&nbsp; &nbsp; &nbsp; &nbsp; <layout class="org.apache.log4j.PatternLayout">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <param name="ConversionPattern" value="%d{ISO8601} %-5p [%c{1}] - %m%n" />&nbsp; &nbsp; &nbsp; &nbsp; </layout>&nbsp; &nbsp; </appender>&nbsp; &nbsp; <appender name="fileAppender" class="org.apache.log4j.FileAppender">&nbsp; &nbsp; &nbsp; &nbsp; <param name="file" value="/jboss/jboss-eap-6.4/standalone/log/myLogFile.log"/>&nbsp; &nbsp; &nbsp; &nbsp; <param name="append" value="false" />&nbsp; &nbsp; &nbsp; &nbsp; <param name="threshold" value="debug" />&nbsp; &nbsp; &nbsp; &nbsp; <layout class="org.apache.log4j.PatternLayout">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <param name="ConversionPattern" value="%d{ISO8601} %-5p [%c{1}] - %m%n" />&nbsp; &nbsp; &nbsp; &nbsp; </layout>&nbsp; &nbsp; </appender>&nbsp; &nbsp; <root>&nbsp; &nbsp; &nbsp; &nbsp; <priority value="info" />&nbsp; &nbsp; &nbsp; &nbsp; <appender-ref ref="default.console" />&nbsp; &nbsp; &nbsp; &nbsp; <appender-ref ref="default.file" />&nbsp; &nbsp; </root></log4j:configuration>

慕尼黑5688855

好的,想通了。我不得不补充&nbsp; &nbsp; <category name="my.classpath">&nbsp; &nbsp; &nbsp; &nbsp; <priority value="all" />&nbsp; &nbsp; &nbsp; &nbsp; <appender-ref ref="fileAppender" />&nbsp; &nbsp; </category>因为无法以某种方式更改 rootLogger 级别。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java