没有使用appender的Log4J记录器

时间:2018-01-24 10:25:03

标签: java logging log4j

如果我有一个我用来初始化记录器的log4j.xml文件,其中定义了一个没有任何foo标记的记录器(appender-ref),这是什么记录器吗?如果它什么都不做,它会对性能产生影响吗?

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
    <param name="Target" value="System.out"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/> 
    </layout> 
  </appender> 

  <logger name="foo">
    <level value="WARN"/>
  </logger>

  <root> 
    <priority value ="debug" /> 
    <appender-ref ref="console" /> 
  </root>

</log4j:configuration>

2 个答案:

答案 0 :(得分:1)

此记录器正在添加警告日志,只要控制台程序中出现此记录器配置的警告就会生成它们,它会将其添加到日志中,是的,它会对性能产生影响,因为我们只为日志添加日志调试。如果在xml中看到,则优先级值设置为debug 如果它被设置为Release,那么它将记录释放模式消息 影响将是巨大的,因为我们也应该记录错误。这就是记录器的全部目的..

答案 1 :(得分:1)

从手册:“给定记录器的每个启用的日志记录请求将被转发到该记录器中的所有appender以及层次结构中较高的appender”所以我猜他们将从root继承。