如果我使用mod_wsgi来提供应用程序,在哪里可以看到stdout?

时间:2013-01-04 05:38:33

标签: python django apache mod-wsgi pyramid

有时我需要检查python web apllication的输出。

如果我直接执行应用程序,我可以在终端屏幕上看到它。

但我不知道如何检查mod_wsgi。它会出现在apache的单独日志中吗?或者我是否需要为logging添加一些代码?

3 个答案:

答案 0 :(得分:2)

而不是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")

答案 1 :(得分:1)

wsgilog很简单,可以自动将标准重定向到日志文件。轻而易举地设置,我没有遇到任何实际问题。

答案 2 :(得分:0)

  

声称可移植的WSGI应用程序组件不应写入标准输出。也就是说,应用程序不应使用Python print语句而不将输出定向到某个备用流。应用程序也不应直接写入sys.stdout。 (ModWSGI Wiki

所以不要......相反,我建议使用像sentry这样的日志聚合工具。它在开发和制作必备时非常有用。