有时我需要检查 python web 应用程序的输出。
如果我直接执行应用程序,我可以从终端屏幕看到它。
但我不知道如何检查mod_wsgi
. 它会出现在单独的日志中apache
吗?还是我需要添加一些代码logging
?
而不是print "message"
,您可以使用sys.stderr.write("message")
使用StreamHandler登录到 stderr :
import logging
handler = logging.StreamHandler(stream=sys.stderr)
log = logging.getLogger(__name__)
log.setLevel(logging.INFO)
log.addHandler(handler)
log.info("Message")
wsgilog很简单,可以自动为您将标准输出重定向到日志文件。微风设置,我没有任何真正的问题。
任何声称可移植的 WSGI 应用程序组件都不应该写入标准输出。也就是说,应用程序不应该在没有将输出定向到某个备用流的情况下使用 Python 打印语句。应用程序也不应该直接写入 sys.stdout。(ModWSGI 维基)
所以不要...相反,我建议使用像sentry这样的日志聚合工具。它在开发时很有用,并且在生产中是必备的。