Как да използвате Django logging с gunicorn

Имам сайт на Django 1.6, работещ с gunicorn, управляван от супервайзор. По време на тестове и runserver имам регистриране на конзолата, но с gunicorn изразите не се показват никъде (дори регистрационни файлове на ниво ERROR). Те трябва да са в /var/log/supervisor/foo-stderr---supervisor-51QcIl.log, но не са. Имам celery, работещ на различна машина, използваща супервайзор и неговите изявления за отстраняване на грешки се показват добре в неговия файл за грешка на супервизора.

Редактиране: Изпълнението на gunicorn на преден план показва, че нито едно от моите съобщения за грешка не се записва в stderr, както се случва при стартиране на manage.py. Това определено е проблем на gunicorn, а не проблем на надзорник.


person Seán Hayes    schedule 24.01.2014    source източник


Отговори (3)


Получих отговор в GitHub:

https://github.com/benoitc/gunicorn/issues/708

Тъй като сте подали disable_existing_loggers, регистраторите на Gunicorn са деактивирани, когато Django зареди вашата конфигурация за регистриране. Ако настройвате това, защото искате да деактивирате някаква конфигурация за регистриране на Django по подразбиране, уверете се, че сте добавили обратно регистраторите на gunicorn, gunicorn.error и gunicorn.access с каквито манипулатори желаете.

person Seán Hayes    schedule 22.10.2014

В /etc/supervisor/conf.d/your-app.confтрябва да зададете пътеки към журнала:

stdout_logfile=/var/log/your-app.log
stderr_logfile=/var/log/your-app.log
person AlexanderLedovsky    schedule 24.01.2014
comment
Вече имам stderr файл, но отчетите за регистриране не се показват. - person Seán Hayes; 25.02.2014

Първо, в конфигурацията на вашия супервайзър за скрипта gunicorn, не забравяйте да дефинирате

stdout_logfile=/path/to/logfile.log
redirect_stderr=true

Това ще накара stdout и stderr да отидат в един и същи файл.
Сега, на вашия скрипт gunicorn, не забравяйте да извикате процеса със следния аргумент

gunicorn YourWSGIModule:app --log-level=critical
person fixmycode    schedule 03.06.2014