2017-10-13 7 views
2

Je cours mon site Django en tant que vassal de l'empereur UWSGI. J'ai créé /etc/uwsgi-emperor/vassals/mysite.ini comme suit:Où les traces de pile de mon vassal Django/uWSGI sont-elles enregistrées?

[uwsgi] 
socket = /var/opt/mysite/uwsgi.sock 
chmod-socket = 775 
chdir = /opt/mysite 
master = true 
virtualenv = /opt/mysite_virtualenv 
env = DJANGO_SETTINGS_MODULE=mysite.settings 
module = mysite.wsgi:application 
uid = www-data 
gid = www-data 
processes = 1 
threads = 1 
plugins = python3,logfile 
logger = file:/var/log/uwsgi/app/mysite.log 
vacuum = true 

Mais les seuls journaux que je reçois sont des choses comme ça:

[pid: 2887|app: 0|req: 7/7] 1.2.3.4() {52 vars in 936 bytes} [Fri Oct 13 20:46:04 2017] POST /mysite/login/ => generated 27 bytes in 2453 msecs (HTTP/1.1 500) 4 headers in 126 bytes (2 switches on core 0) 
[pid: 2887|app: 0|req: 8/8] 1.2.3.4() {44 vars in 702 bytes} [Fri Oct 13 20:52:24 2017] GET/=> generated 1561 bytes in 2 msecs (HTTP/1.1 200) 4 headers in 124 bytes (2 switches on core 0) 

Où est la trace de la pile pour l'erreur 500? (Y at-il un module que je dois activer?)

+1

Vous devez configurer Django pour consigner les traces de la pile - voir https://docs.djangoproject.com/fr/1.11/topics/logging/#configuring-logging – solarissmoke

+0

@solarissmoke merci pour le lien! – d3vid

Répondre

2

Le problème est que Django n'envoie pas les journaux partout. Vous devez:

Toute trace de pile qui donne normalement dans votre console apparaît maintenant dans votre fichier journal uwsgi.

Par exemple:

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'handlers': { 
     'console': { 
      'level': 'DEBUG', 
      'filters': None, 
      'class': 'logging.StreamHandler', 
     }, 
    }, 
    'loggers': { 
     'django': { 
      'handlers': ['console'], 
      'level': 'DEBUG', 
     }, 
    }, 
} 

Pour d'autres options de journalisation (filtres, mise en forme ...) voir https://docs.djangoproject.com/en/1.11/topics/logging/#configuring-logging (grâce à solarissmoke pour le lien).