有時我需要檢查python web apllication的輸出。如果我使用mod_wsgi來提供應用程序,哪裏可以看到stdout?
如果我直接執行應用程序,我可以從終端屏幕上看到它。我不知道如何檢查mod_wsgi
。它會出現在單獨的日誌apache
?或者我需要爲logging
添加一些代碼?
有時我需要檢查python web apllication的輸出。如果我使用mod_wsgi來提供應用程序,哪裏可以看到stdout?
如果我直接執行應用程序,我可以從終端屏幕上看到它。我不知道如何檢查mod_wsgi
。它會出現在單獨的日誌apache
?或者我需要爲logging
添加一些代碼?
沒有聲稱是便攜式的WSGI應用程序組件應寫入標準輸出。也就是說,應用程序不應該使用Python打印語句,而不會將輸出導向某個備用流。應用程序也不應直接寫入sys.stdout。 (ModWSGI Wiki)
所以不要...相反,我建議使用日誌聚合工具,如sentry。它在開發和生產中必不可少。
wsgilog很簡單,並且可以自動將標準重定向到日誌文件。微風建立,我沒有任何真正的問題。
相反的print "message"
,你可以使用sys.stderr.write("message")
用於記錄與StreamHandler到標準錯誤:
import logging
handler = logging.StreamHandler(stream=sys.stderr)
log = logging.getLogger(__name__)
log.setLevel(logging.INFO)
log.addHandler(handler)
log.info("Message")
是不是已經在金字塔的配置文件設置的日誌級別? –
@ AnthonyPerot-Rajan恐怕我不知道 - 我沒有用金字塔 –