TB アプリで、すべての例外をログ ファイルに記録したいと考えています。というわけで、いつものように独自の sys.excepthook を使ってみました。ただし、すべての例外が引き続き発生し、何もログに記録されません。これが私のコードです:
class RootController(BaseController):
secc = SecureController()
error = ErrorController()
def __init__(self):
self.installExceptHook()
super(RootController, self).__init__()
def installExceptHook(self):
def exceptHook(type, value, tb):
logger = logging.getLogger('app')
logger.critical(''.join(traceback.format_exception(type, value, tb)))
sys.excepthook = exceptHook
index メソッドで ValueError を発生させると、次のようになります。
@expose('app.templates.index')
def index(self, **kwargs):
raise ValueError
return dict(page = 'index')
ブラウザに WebError Traceback ページがまだ表示され、何もログに記録されません。
私が間違っていることを知っていますか?何か案が?