title: What is the point of setLevel in a python logging handler?
body: <p>Let's say I have the following code:</p>
  
  <pre><code>import logging
  import logging.handlers
  
  a = logging.getLogger('myapp')
  h = logging.handlers.RotatingFileHandler('foo.log')
  h.setLevel(logging.DEBUG)
  a.addHandler(h)
  
  # The effective log level is still logging.WARN
  print a.getEffectiveLevel() 
  a.debug('foo message')
  a.warn('warning message')
  </code></pre>
  
  <p>I expect that setting <code>logging.DEBUG</code> on the handler would cause debug-level messages to be written to the log file. However, this prints 30 for the effective level (equal to <code>logging.WARNING</code>, the default), and only logs the <code>warn</code> message to the log file, not the debug message.</p>
  
  <p>It appears that the handler's log level is being dropped on the floor, e.g. it's silently ignored. Which makes me wonder, why have <code>setLevel</code> on the handler at all? </p>