Django: comment définir le niveau de journalisation sur INFO ou DEBUG
J'ai essayé de changer le niveau de debug DEBUG dans Django parce que je veux ajouter quelques messages de débogage à mon code. Il ne semble avoir aucun effet.
Ma configuration de journalisation:
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")
Sortie sur la console:
WARNING:core.handlers:THIS ONE IS
J'ai aussi essayé paramètre DEBUG = False et DEBUG = True dans mon fichier de paramètres. Des idées?
Edit: Si j'ai mis le niveau de journal sur l'enregistreur directement, ça marche:
import logging ; logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.debug("THIS MESSAGE IS NOT SHOWN IN THE LOGS")
De sortie:
DEBUG:core.handlers:THIS MESSAGE IS NOT SHOWN IN THE LOGS
WARNING:core.handlers:THIS ONE IS
Mais: Il semble que le fichier de config est totalement ignoré. Il imprime les deux états toujours même si j'ai mis les deux entrées dans la config de retour à l'ERREUR. Est-ce le bon comportement ou suis-je manque encore quelque chose?
source d'informationauteur kev | 2013-11-01
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour ajouter par exemple
en parallèle avec la
django.request
entrée, ouen parallèle avec les "bûcherons". Cela permettra d'assurer que le niveau est réglé sur l'enregistreur de données que vous utilisez réellement, plutôt que de simplement le
django.request
enregistreur.Mise à jour: À afficher des messages pour tous vos modules, il suffit d'ajouter des entrées à côté de
django.request
d'inclure votre haut niveau des modules, par exempleapi
handlers
core
ou quoi que ce soit. Puisque vous n'avez pas dit exactement ce que votre paquet/module de hiérarchie, je ne peux pas être plus précis.Je l'ai corrigé en changeant
:
Par exemple, pour enregistrer tous les messages de la console: