eig*_*ein 5 python tornado web
我正在尝试通过覆盖tornado.web.Application._handle_request_exception方法来实现自定义未处理的请求异常日志记录:
def _handle_request_exception(self, e):
logging.error('error') # Just for test.
Run Code Online (Sandbox Code Playgroud)
但我看到相同的日志输出,如:
2012-09-01 03:35:09,947 [7399] root ERROR: Uncaught exception GET / (127.0.0.1)
HTTPRequest(...)
Traceback (most recent call last):
Run Code Online (Sandbox Code Playgroud)
而不是我的自定义消息.我究竟做错了什么?
嗯,首先,_handle_request_exception方法是RequestHandler,而不是Application.
其次,您不能使用主命名空间中的新定义覆盖绑定方法:
def _handle_request_exception(self, e):
logging.error('error')
Run Code Online (Sandbox Code Playgroud)
您需要为RequestHandler该类创建子类:
class BaseHandler(tornado.web.RequestHandler):
def _handle_request_exception(self, e):
logging.error('error')
Run Code Online (Sandbox Code Playgroud)
然后你的所有处理程序都应继承BaseHandler.
| 归档时间: |
|
| 查看次数: |
3036 次 |
| 最近记录: |