我想調試我用django製作的應用程序,它使用django的manage.py工作正常,但是當我使用nginx時,某些功能不起作用。我檢查了錯誤日誌,它們都是空的,可能是因爲我正在捕獲所有異常並將它們發送到標準輸出。有沒有一種簡單的方法可以用nginx查看應用程序的輸出?用django和nginx記錄標準
回答
WSGI服務器經常禁用標準輸出,我認爲它可能會導致某種兼容性問題。 Django具有內置日誌功能;我建議使用它而不是打印語句。這都應該是更容易配置,也讓你有更多的特異性日誌記錄,即:
log.debug(「只看到在調試」)
或
log.warn(」此消息可能表明一個問題')
相關Django文檔: https://docs.djangoproject.com/en/dev/topics/logging/
默認情況下,默認情況下禁用mod_wsgi 2.X及更高版本禁用stdout。這是爲了強制人們編寫可移植的WSGI應用程序。沒有人關心,所以mod_wsgi 3.X允許人們編寫標準輸出,因此編寫非可移植的WSGI應用程序。請參閱http://blog.dscpl.com.au/2009/04/wsgi-and-printing-to-standard-output.html –
@GrahamDumpleton,我們在這裏討論的是nginx,而不是Apache – JeffS
我很清楚那個,但是'WSGI服務器經常禁用標準輸出'的語句只能是對Apache的mod_wsgi的引用,因爲沒有其他的WSGI服務器我知道故意做了一些嘗試並阻止你使用標準輸出。唯一真正的例外是CGI腳本,它使用stdout與服務器通信,這就是mod_wsgi停止使用stdout的原因。也就是說,要確保您編寫的內容仍然可以與當時存在的CGI/WSGI適配器一起使用。 –
- 1. Django和floatformat標記
- 2. Django和Nginx
- 3. 使用Python記錄所有錯誤和標準輸出輸出
- 4. 用uwsgi和nginx設置django
- 5. 用nginx和apache設置django
- 6. 用nginx和uWSGI服務django
- 7. 總和記錄在Django
- 8. 根據標準組合記錄
- 9. 刪除記錄在一定標準adotable
- 10. 返回記錄在符合標準
- 11. 記錄,StreamHandler中的標準流
- 12. 濾波記錄:米表標準
- 13. 關於多個標準的grep記錄
- 14. 顯示去年的記錄標準
- 15. 提取記錄了「否」只標準
- 16. 計數記錄由組0的編號爲記錄了標準
- 17. django與gunicron和nginx
- 18. UnicodeEncodeError與nginx和Django
- 19. Nginx和Django on Dotcloud
- 20. Django/Nginx DisallowedHost標題錯誤
- 21. Django的標記和Django管理
- 22. Gunicorn和Django與Upstart和Nginx
- 23. 如何計算的標準記錄和的NodeJS MongoDB的
- 24. Python日誌記錄到標準輸出和日誌文件
- 25. 標準輸出和stderr之間的Python日誌記錄分裂
- 26. 如何設置MongoDB以記錄文件和標準輸出?
- 27. 記錄stderr和標準輸出與log4j的
- 28. pytest日誌記錄到文件和標準輸出
- 29. 如何實現一個包的標準記錄器和argparser
- 30. SQL Concat和加入3表格返回記錄匹配標準
你是如何運行的Django? WSGI? – JeffS
您是否在您的django配置中添加了請求錯誤處理程序? – andrefsp
我的配置與此處列出的相同:https://code.djangoproject.com/wiki/DjangoAndNginx –