我正在编写一个使用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输出有关错误的堆栈信息?
答案 0 :(得分:0)
WSGIContainer
没有此功能。您可以使用WSGI中间件而不是容器来获取它;否则你将需要使用不同的服务器来开发应用程序的Flask部分。
请注意,如果您的应用程序完全基于烧瓶,那么使用Tornado的WSGIContainer是一个坏主意 - 它的可扩展性远远低于替代品。 WSGIContainer仅在您需要在一个进程中混合使用两个框架并且愿意为功能和可伸缩性付出代价时才有用。请参阅http://www.tornadoweb.org/en/stable/wsgi.html#tornado.wsgi.WSGIContainer
上的警告