简体   繁体   English

如何使logger.trace()和logger.info()一起工作

[英]How to make logger.trace() and logger.info() work together

I have an issue logging TRACE function in distinct file from INFO function, i prepared a classic log4j.xml file containing all the required configuration. 我在与INFO函数不同的文件中记录TRACE函数时遇到问题,我准备了一个经典的log4j.xml文件,其中包含所有必需的配置。

logger.info() is working. logger.info()正在工作。
logger.trace() is not working. logger.trace() 无法正常工作。

         <appender name="file" class="org.apache.log4j.FileAppender">
            <param name="append" value="true" />
            <param name="file" value="C:/logs/transaction.log" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
            </layout>
            <filter class="org.apache.log4j.varia.LevelRangeFilter">
                <param name="LevelMin" value="TRACE" />
                <param name="LevelMax" value="TRACE" />
                <param name="AcceptOnMatch" value="true" />
            </filter>
        </appender>

        <appender name="fileINFO" class="org.apache.log4j.FileAppender">
            <param name="append" value="true" />
            <param name="file" value="C:/logs/server.log" />
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
            </layout>
            <filter class="org.apache.log4j.varia.LevelRangeFilter">
                <param name="LevelMin" value="INFO" />
                <param name="LevelMax" value="INFO" />
                <param name="AcceptOnMatch" value="true" />
            </filter>
        </appender>

        <logger name="ma.prg.net">
            <level value="trace" />
            <appender-ref ref="file" />
        </logger>

        <logger name="ma.prg.net">
            <level value="info" />
            <appender-ref ref="fileINFO" />
        </logger>

logger.trace() was working fine before i added fileINFO appender. 在添加fileINFO附加程序之前, logger.trace()工作正常。

Thanks in advance. 提前致谢。

You cannot configure the same logger twice. 您不能两次配置同一记录器。 Just change your logger configuration to: 只需将您的记录器配置更改为:

<logger name="ma.prg.net">
  <level value="trace" />
  <appender-ref ref="file" />
  <appender-ref ref="fileINFO" />
</logger>

With this you send the logging message to both appenders. 这样,您就可以将日志消息发送到两个追加程序。 But as you already configured each appender individually with LevelMin and LevelMax , each filters out the messages it should print. 但是,由于您已经分别使用LevelMinLevelMax配置了每个附加程序,因此每个过滤器都会过滤出应该打印的消息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM