在Apache / mod_wsgi下运行时,如何获取web.py的stdout日志?

时间:2012-05-03 19:19:21

标签: logging python-2.7 mod-wsgi wsgi web.py

我开发了一个web.py应用程序并在独立模式下测试了很多(从命令行运行myapp.py),并且它的stdout输出对于调试非常有用。现在我在Apache / mod_wsgi下运行它,很多东西都不起作用。例如,我以前工作的基本身份验证方案总是拒绝它给出的用户名/密码。我需要的第一件事是能够查看我曾经拥有的调试消息。但是脚本的输出无处可寻。

如何再次进行“调试打印”?

我不想在我的应用程序中询问具体问题,直到我完成了那么多。

1 个答案:

答案 0 :(得分:1)

>>> class STDOUT(object):
    def __init__(self, next):
        self.next = next
        self.file = open('stdout.txt', 'w')
    def write(self, thing):
        self.file.write(thing)
        l.append(thing)
        self.next.write(thing)

>>> import sys
>>> s = STDOUT(sys.stdout)
>>> sys.stdout = s
>>> l = []
>>> print 4
4
>>> l
['4', '\n']