Django: Wie man den Log Level auf INFO oder DEBUG setzt

Ich habe versucht, die Debug-Ebene in Django auf DEBUG zu ändern, weil ich meinem Code einige Debug-Meldungen hinzufügen möchte. Es scheint keine Wirkung zu haben.

Meine Protokollierungskonfiguration:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'handlers': {
        'console':{
            'level':'DEBUG',
            'class':'logging.StreamHandler',
            'formatter': 'simple'
        },
    },
    'loggers': {
        'django.request':{
            'handlers': ['console'],
            'propagate': False,
            'level': 'DEBUG',
        },
    },
}

Code:

import logging ; logger = logging.getLogger(__name__)
logger.debug("THIS MESSAGE IS NOT SHOWN IN THE LOGS")
logger.warn("THIS ONE IS")

Ausgabe auf der Konsole:

WARNING:core.handlers:THIS ONE IS

Ich habe auch versucht, DEBUG = False und DEBUG = True in meiner Einstellungsdatei zu setzen. Irgendwelche Ideen?

Bearbeiten: Wenn ich den Log-Level direkt am Logger einstelle, funktioniert es:

import logging ; logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.debug("THIS MESSAGE IS NOT SHOWN IN THE LOGS")

Ausgabe:

DEBUG:core.handlers:THIS MESSAGE IS NOT SHOWN IN THE LOGS
WARNING:core.handlers:THIS ONE IS

Aber: Es scheint, dass die Konfigurationsdatei völlig ignoriert wird. Es werden beide Anweisungen gedrucktimmer auch wenn ich beide einträge in der config wieder auf FEHLER gesetzt habe. Ist das das richtige Verhalten oder fehlt mir noch etwas?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage