# Django LOGGING dictConfig in settings.py: All specified handlers get ignored

**URL:** <https://forum.djangoproject.com/t/django-logging-dictconfig-in-settings-py-all-specified-handlers-get-ignored/7058>\
**Category:** Using Django\
**Created:** [March 15, 2021, 12:21pm UTC](https://forum.djangoproject.com/t/django-logging-dictconfig-in-settings-py-all-specified-handlers-get-ignored/7058 "2021-03-15T12:21:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![bionade24](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/bionade24/32/3835_2.png) [@bionade24](https://forum.djangoproject.com/u/bionade24)\
**Post date:** [March 15, 2021, 12:21pm UTC](https://forum.djangoproject.com/t/django-logging-dictconfig-in-settings-py-all-specified-handlers-get-ignored/7058/1 "2021-03-15T12:21:59Z")

</div>

Hi, it seems like for some reason I can’t set any logging output handlers in my project’s `settings.py`. Rest seems to be set. Does anyone know what I have to change to get it working?

`settings.py LOGGING section`:

```auto

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'standard': {
            'style': '{',
            'format': '[{asctime}] {message}',
        }
    },
    'handlers': {
        'default': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'formatter': 'standard',
            'stream': 'ext://sys.stdout',
        },
    },
    'root': {
        'handler': 'logging.NullHandler',
        'level': 'CRITICAL',
    },
    'loggers': {
         'cd_manager': {
             'handler': 'default',
             'level': 'INFO',
             'propagate': False,
         },
         'cd_manager.models': {
             'propagate': True,
         },
         'makepkg': {
             'handler': 'default',
             'level': 'INFO',
             'propagate': False,
         },
         'makepkg.makepkg': {
             'propagate': True,
         }
    }
}

```

`logging_tree.printout()`:

```auto
<--""
   Level CRITICAL
   |
   o<--"asyncio"
   | Level NOTSET so inherits level CRITICAL
   |
   o "cd_manager"
   | Level INFO
   | Propagate OFF
   | |
   | o<--"cd_manager.models"
   | Level NOTSET so inherits level INFO
   |
   o<--[concurrent]
   | |
   | o<--"concurrent.futures"
   | Level NOTSET so inherits level CRITICAL
   |
   o<--"django"
   | Level INFO
   | Handler Stream <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
   | Level INFO
   | Filter <django.utils.log.RequireDebugTrue object at 0x7fe0b4cbe3d0>
   | Handler <AdminEmailHandler (ERROR)>
   | Level ERROR
   | Filter <django.utils.log.RequireDebugFalse object at 0x7fe0b4cbe2b0>
   | |
   | o<--[django.db]
   | | |
   | | o<--"django.db.backends"
   | | Level NOTSET so inherits level INFO
   | | |
   | | o<--"django.db.backends.schema"
   | | Level NOTSET so inherits level INFO
   | |
   | o<--"django.request"
   | | Level NOTSET so inherits level INFO
   | |
   | o<--[django.security]
   | | |
   | | o<--"django.security.csrf"
   | | Level NOTSET so inherits level INFO
   | |
   | o "django.server"
   | | Level INFO
   | | Propagate OFF
   | | Handler Stream <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
   | | Level INFO
   | | Formatter <django.utils.log.ServerFormatter object at 0x7fe0b4c27fa0>
   | |
   | o<--"django.template"
   | | Level NOTSET so inherits level INFO
   | |
   | o<--[django.utils]
   | |
   | o<--"django.utils.autoreload"
   | Level NOTSET so inherits level INFO
   |
   o<--[docker]
   | |
   | o<--[docker.api]
   | | |
   | | o<--"docker.api.build"
   | | | Level NOTSET so inherits level CRITICAL
   | | |
   | | o<--"docker.api.image"
   | | | Level NOTSET so inherits level CRITICAL
   | | |
   | | o<--"docker.api.swarm"
   | | Level NOTSET so inherits level CRITICAL
   | |
   | o<--"docker.auth"
   | | Level NOTSET so inherits level CRITICAL
   | |
   | o<--[docker.utils]
   | |
   | o<--"docker.utils.config"
   | Level NOTSET so inherits level CRITICAL
   |
   o "makepkg"
   | Level INFO
   | Propagate OFF
   | |
   | o<--"makepkg.makepkg"
   | Level NOTSET so inherits level INFO
   |
   o<--"requests"
   | Level NOTSET so inherits level CRITICAL
   | Handler <NullHandler (NOTSET)>
   |
   o<--"urllib3"
   | Level NOTSET so inherits level CRITICAL
   | Handler <NullHandler (NOTSET)>
   | |
   | o<--"urllib3.connection"
   | | Level NOTSET so inherits level CRITICAL
   | |
   | o<--"urllib3.connectionpool"
   | | Level NOTSET so inherits level CRITICAL
   | |
   | o<--"urllib3.poolmanager"
   | | Level NOTSET so inherits level CRITICAL
   | |
   | o<--"urllib3.response"
   | | Level NOTSET so inherits level CRITICAL
   | |
   | o<--[urllib3.util]
   | |
   | o<--"urllib3.util.retry"
   | Level NOTSET so inherits level CRITICAL
   |
   o<--"websocket"
       Level NOTSET so inherits level CRITICAL
       Handler <NullHandler (NOTSET)>

```

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![KenWhitesell](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/kenwhitesell/32/280_2.png) [@KenWhitesell](https://forum.djangoproject.com/u/KenWhitesell)\
**Post date:** [March 15, 2021, 12:25pm UTC](https://forum.djangoproject.com/t/django-logging-dictconfig-in-settings-py-all-specified-handlers-get-ignored/7058/2 "2021-03-15T12:25:03Z")

</div>

The dict key within loggers is handlers, not handler, and is a list.
