title: Python/django root logger level
body: <p>In my django project I have following LOGGING config:</p>
  
  <pre><code>LOGGING = {
      'version': 1,
      'disable_existing_loggers': True,
      'formatters': {
          'verbose': {
              'format': '%(name)s %(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
          },
          'simple': {
              'format': '%(levelname)s %(message)s'
          },
      },
      'handlers': {
          'null': {
              'level': 'DEBUG',
              'class':'django.utils.log.NullHandler',
          },
          'sentry': {
              'level': 'DEBUG',
              'class': 'sentry.client.handlers.SentryHandler',
              'formatter': 'verbose'
          },
          'console': {
              'level': 'DEBUG',
              'class': 'logging.StreamHandler',
              'formatter': 'verbose'
          }
      },
      'loggers': {
          'django.db.backends': {
              'handlers': ['console'],
              'level': 'INFO',
              'propagate': False,
          },
          '': {
              'level': 'ERROR',
              'handlers': ['console'],
          },
      },
  }
  </code></pre>
  
  <p>When running <code>manage.py migrate</code> I still have a lot of debug stuff in console, e.g:</p>
  
  <pre><code>DEBUG south 2011-08-08 11:22:23,847 generic 19539 140735078710464 south execute "..."
  </code></pre>
  
  <p>I'm expecting only error messages in console as I set root logger level to ERROR. What am I doing wrong?</p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>Looks like problem is in <code>south.logger</code> module:</p>
  
  <pre><code>import sys
  import logging
  from django.conf import settings
  
  # Create a dummy handler to use for now.
  class NullHandler(logging.Handler):
      def emit(self, record):
          pass
  
  _logger = logging.getLogger("south")
  _logger.addHandler(NullHandler())
  _logger.setLevel(logging.DEBUG)
  </code></pre>
  
  <p>After removing <code>_logger.setLevel(logging.DEBUG)</code> logging works as expected.</p>
  
  <p>Can someone explain me such weird behavior?</p>