내 TB 앱에서 모든 예외를 로그 파일에 기록하려고합니다. 그래서 평소와 같이 사용자 지정 sys.excepthook을 사용하려고했습니다. 그러나 모든 예외는 여전히 제기되고 아무것도 기록되지 않습니다. 내가 색인 방법에 ValueError를 인상하면TurboGears 2.2.2의 RootController에서 사용자 정의 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
: 여기 내 코드입니다
@expose('app.templates.index')
def index(self, **kwargs):
raise ValueError
return dict(page = 'index')
난 여전히 내 브라우저에서 WebError 역 추적 페이지를 얻고 아무것도 기록되지 않습니다.
내가 뭘 잘못하고 있는지 알아? 어떤 생각? 워드 프로세서 (http://docs.python.org/2/library/sys.html#sys.excepthook)에서
감사합니다. 나는 TurboGears 미들웨어가있을 것 같았습니다. –
@ nu.frix 나는 항상 대답을 찾고있을 때 TG 소스 코드를 파헤 치면 도움이된다! 가끔씩 그들은 매우 고무적입니다 : D – moschlar
여러 번 시도했지만, 나는 항상 성공적이지 못했습니다 :) 5 번째 파일로 '리다이렉트'되었을 때 나는 포기했습니다. D –