使用Tornado的WSGIContainer,如何让它在调试模式下运行,以便我得到更好的错误消息

时间:2016-06-28 16:28:18

标签: python flask tornado

我正在编写一个使用Tornado作为其Web服务器的Flask Web应用程序。当我的应用程序引发异常时,我收到了无用的错误消息"内部服务器错误"。我希望它显示堆栈跟踪,所以我可以看到出了什么问题。

Tornado手册说如果我将debug=True传递给Application构造函数,我就可以这样做。但是,我没有使用Application构造函数,而是使用WSGIContainer。这是我的源代码:

if __name__ == "__main__":
    container = wsgi.WSGIContainer(main.app)
    http_server = httpserver.HTTPServer(container) 
    http_server.listen(8210)
    ioloop.IOLoop.instance().start()

如何让Tornado输出有关错误的堆栈信息?

1 个答案:

答案 0 :(得分:0)

WSGIContainer没有此功能。您可以使用WSGI中间件而不是容器来获取它;否则你将需要使用不同的服务器来开发应用程序的Flask部分。

请注意,如果您的应用程序完全基于烧瓶,那么使用Tornado的WSGIContainer是一个坏主意 - 它的可扩展性远远低于替代品。 WSGIContainer仅在您需要在一个进程中混合使用两个框架并且愿意为功能和可伸缩性付出代价时才有用。请参阅http://www.tornadoweb.org/en/stable/wsgi.html#tornado.wsgi.WSGIContainer

上的警告