[Solved]-Configuring root logger in python

11👍

Are you using an empty string key in LOGGING['loggers'] to match the root logger? If so, you could try this instead.

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format':
              '%(levelname)s|%(asctime)s|%(name)s>> %(message)s',
        },
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose',
        }
    },
    'loggers': {
        'apps': {
            'handlers': ['console'],
            'level': 'DEBUG',
        }
    },
    'root': {
       'handlers': ['console'],
       'level': 'ERROR'
    }
}

1👍

I had a similar issue, with root logger configured a level at INFO but seeing DEBUG log message.

Turns out I should not set 'propagate': True for my other logger which is at level DEBUG, since that those logs will be passed to the root logger no matter what level root at.

So my guess here to the original question is that there might be some other modules’ logger with propagate turned on. set disable_existing_loggers to True maybe solve this.

Leave a comment