title: Configuring Python root logging only
body: <p>I have a Python package <code>foobar</code> with <code>__main__.py</code> inside it. In the <code>__main__.py</code> I configure logging with:</p>
  <pre><code>from logging import config
  
  config.dictConfig(
      {
          'version': 1,
          'disable_existing_loggers': True,
          'formatters': {
              'simple': {
                  'format': '%(message)s',
              },
          },
          'handlers': {
              'console': {
                  'class': 'logging.StreamHandler',
                  'formatter': 'simple',
              },
          },
          'loggers': {
              # No idea why is this necessary.
              'foobar': {
                  'propagate': True,
              },
          },
          'root': {
              'level': 'DEBUG',
              'handlers': [
                  'console',
              ],
          },
      },
  )
  </code></pre>
  <p>I simply want all messages from all loggers from all packages to be logged to the console, DEBUG level and above. I thought that configuring the root logger will be enough, but it is not. I had to add <code>foobar</code> entry in <code>loggers</code> and explicitly mark it for propagation. Why? Without that, nothing is logged out to the console from my module when I run it with <code>python3 -m foobar</code>.</p>
  <p>I tried this on Python 3.8.5.</p>