我使用的是最新版本的Google App Engine,Python 2.7和webapp2,但启用调试模式只会在出错时显示空白HTML页面,而不是显示错误和堆栈跟踪。这看起来不像预期的行为:
"当处于调试模式时,会引发任何现在捕获的异常,并将堆栈跟踪显示给客户端" http://webapp-improved.appspot.com/guide/app.html
我做错了吗?如果没有,我如何使用webapp2中的自定义错误处理程序打印堆栈跟踪?
感谢。
编辑:这是一个重现错误的示例应用程序:
的app.yaml
application: testapp
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /.*
script: main.app
libraries:
- name: jinja2
version: "2.6"
main.py
import webapp2
# Run application
app = webapp2.WSGIApplication([webapp2.Route('/', handler='handlers.IndexHandler')], debug=True)
因为没有名为" handlers.py"的文件包含IndexHandler,此应用程序抛出500服务器错误。但即使debug = True,应用程序只显示一个空页面,并且不会输出错误和堆栈跟踪,但App Engine日志除外。
我没有在生产服务器上试过这个。
答案 0 :(得分:0)
似乎在最新版本的webapp2中修复了此错误: http://code.google.com/p/webapp-improved/source/detail?r=da20281cbba3f593ca49667752c0a2395ea483c5
我想这个修补程序最终会包含在App Engine SDK中。