title: Help me understand log4j appender additivity with respect to priority level
body: <p>I am confused as to why INFO statements are making it to the Console. Here is the general setup:</p>
  
  <pre><code>&lt;appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"&gt;
      &lt;param name="Target" value="System.out"/&gt;
      &lt;param name="Threshold" value="DEBUG"/&gt;
      &lt;layout .../&gt;
  &lt;/appender&gt;
  
  &lt;appender name="REST_LOG" class="org.apache.log4j.DailyRollingFileAppender"&gt;
      &lt;param name="File" value="/logs/rest.log" /&gt;
      &lt;param name="Threshold" value="INFO" /&gt;
      ....
  &lt;/appender&gt;
  
  &lt;category name="xyz.web"&gt;
      &lt;priority value="WARN" /&gt;
      &lt;appender-ref ref="CONSOLE" /&gt;
  &lt;/category&gt;
  
  &lt;category name="xyz.web.rest"&gt;
      &lt;priority value="INFO" /&gt;
      &lt;appender-ref ref="REST_LOG" /&gt;
  &lt;/category&gt;
  </code></pre>
  
  <p>So I want INFO and above statements to only do to REST_LOG and WARN statements and above to go to REST_LOG and CONSOLE. What I am seeing is INFO statements from xyz.web.rest in the REST_LOG as expected but also seeing INFO statements from xyz.web.rest in CONSOLE which I wasn't expecting. </p>
  
  <p>Can somebody explain what is going on?</p>