2014-01-24 64 views
6

我有一個Django 1.6網站運行gunicorn,由主管管理。在測試和runserver期間,我登錄了控制檯,但使用gunicorn時,這些語句不會顯示在任何地方(甚至不包括ERROR級別日誌)。它們應該位於/var/log/supervisor/foo-stderr---supervisor-51QcIl.log中,但它們不是。我使用supervisor在不同的機器上運行芹菜,它的調試語句在其監控程序錯誤文件中顯示正常。如何使用Django日誌與gunicorn

編輯: 在前臺運行gunicorn顯示我的錯誤消息沒有被記錄到stderr,就像運行manage.py時一樣。這絕對是一個棘手的問題,而不是一個主管問題。

回答

4

我在GitHub上的響應:

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

既然你已經通過disable_existing_loggers的當Django加載日誌配置時,Gunicorn記錄器被禁用。如果你設置這個是因爲你想禁用一些默認的Django日誌配置,請確保你用任何你想要的處理程序添加gunicorn logger,gunicorn.error和gunicorn.access。

2

/etc/supervisor/conf.d/your-app.conf你應該設置日誌路徑:

stdout_logfile=/var/log/your-app.log 
stderr_logfile=/var/log/your-app.log 
+1

我已經有一個stderr文件,但日誌語句沒有顯示出來。 –

0

首先,在你的上司配置爲gunicorn腳本,一定要確定

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

這將使輸出和錯誤轉到相同的文件。
現在,您gunicorn腳本,一定要調用的過程中有以下的說法

gunicorn YourWSGIModule:app --log-level=critical