J'ai configuré un serveur django avec nginx, et il y a une erreur 403 sur certaines pages.
Où puis-je trouver les journaux de django ? Où puis-je voir les erreurs en détail ?
J'ai configuré un serveur django avec nginx, et il y a une erreur 403 sur certaines pages.
Où puis-je trouver les journaux de django ? Où puis-je voir les erreurs en détail ?
Logs sont définis dans votre fichier settings.py
. Un nouveau projet par défaut ressemble à ceci :
# Un exemple de configuration de logging. Le seul logging tangible
# effectué par cette configuration est d'envoyer un e-mail aux
# administrateurs du site à chaque erreur HTTP 500 lorsque DEBUG=False.
# Voir http://docs.djangoproject.com/fr/dev/topics/logging pour
# plus de détails sur la personnalisation de votre configuration de logging.
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}
Par défaut, cela ne crée pas de fichiers de log. Si vous souhaitez les avoir, vous devez ajouter un paramètre filename
à vos handlers
'applogfile': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': os.path.join(DJANGO_ROOT, 'APPNAME.log'),
'maxBytes': 1024*1024*15, # 15MB
'backupCount': 10,
},
Cela configurera un journal rotatif pouvant atteindre une taille de 15 Mo et conserver 10 versions historiques.
Dans la section loggers
applogfile aux handlers
pour votre application
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
'APPNAME': {
'handlers': ['applogfile',],
'level': 'DEBUG',
},
}
Cet exemple placera vos logs dans votre répertoire Django dans un fichier nommé APPNAME.log
Ajoutez ceci à votre settings.py
:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': 'debug.log',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'DEBUG',
'propagate': True,
},
},
}
Cela créera un fichier appelé debug.log
à la racine de votre. https://docs.djangoproject.com/en/1.10/topics/logging/
Configurer https://docs.djangoproject.com/en/dev/topics/logging/ et ensuite ces erreurs vont s'afficher là où vous les pointez. Par défaut, elles ont tendance à s'égarer, donc je commence toujours par une bonne configuration de logging avant toute autre chose.
Voici un très bon exemple pour une configuration de base : https://ian.pizza/b/2013/04/16/getting-started-with-django-logging-in-5-minutes/
Édition : Le nouveau lien est déplacé vers : https://github.com/ianalexander/ianalexander/blob/master/content/blog/getting-started-with-django-logging-in-5-minutes.html
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.