webapp2/App Engine调试模式不输出错误或堆栈跟踪
我正在使用最新版本的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的日志中。
我还没有在生产服务器上尝试过这个。
1 个回答
0
看起来这个bug在最新版本的webapp2中已经修复了:http://code.google.com/p/webapp-improved/source/detail?r=da20281cbba3f593ca49667752c0a2395ea483c5
我想这个修复最终会包含在App Engine SDK中。