title: log4j rootLogger seems to inherit log level of other logger. Why?
body: <p>I've got a log4J setup in which the root logger is supposed to log ERROR level messages and above to the console and another logger logs everything to syslog.</p>
  
  <p>log4j.properties is:</p>
  
  <pre><code># Root logger option
  log4j.rootLogger=ERROR,R
  
  log4j.appender.R=org.apache.log4j.ConsoleAppender
  log4j.appender.R.layout=org.apache.log4j.PatternLayout
  log4j.appender.R.layout.ConversionPattern=%d %p %t %c - %m%n
  
  log4j.logger.SGSearch=DEBUG,SGSearch
  log4j.appender.SGSearch=org.apache.log4j.net.SyslogAppender
  log4j.appender.SGSearch.SyslogHost=localhost
  log4j.appender.SGSearch.Facility=LOCAL6
  log4j.appender.SGSearch.layout=org.apache.log4j.PatternLayout
  log4j.appender.SGSearch.layout.ConversionPattern=[%-5p] %m%n
  </code></pre>
  
  <p>In code I do</p>
  
  <pre><code>private static final Logger logger = Logger.getLogger("SGSearch");
  .
  .
  .
  logger.info("Commencing snapshot index [" + args[1] + " -&gt; " + args[2] + "]");
  </code></pre>
  
  <p>What is happening is that I get the console logging for all logging levels. What seems to be happening is that the level for SGSearch overrides the level set for the root logger somehow. I can't figure it out.</p>
  
  <p>I have confirmed that Log4J is reading the properties file I think it is, and no other (via the <code>-Dlog4j.debug</code> option)</p>