Hi there everyone,
I wanted to try out Sentry[1], and so far I'm amazed!
It gives me a centralized and organized collection of all log entries
and stacktraces, which is awesome.
For integrating it with TurboGears, I simply added the Client middleware
(with a configuration wrapper for Pylons)[2] like this:
https://gist.github.com/moschlar/5523905#file-app_cfg-py
From the stacktrace that I got by mail[3], it can be seen that the Raven
middleware is injected *below* WebError, so all exceptions that would
bubble up should go through Raven, too, right?
But on the Sentry project page, I only see log messages - no exception
stack traces.
I've already verified that the handle_exception method within Raven gets
called - but for some obscure reason, Raven doesn't seem to send the
stacktrace.
When I asked in #sentry on Freenode, drcamer didn't have a clue on why
this could happen, my only guess is, that somehow the middleware from
TurboGears interferes with the Raven middleware.
Is the ErrorMiddleware doing something special to sys.exc_info which
would prevent the stack trace from being seen at a lower layer in the
WSGI stack? (Which doesn't seem to make sense... :-/)
Does anyone have an idea?
Best wishes,
Moritz
[1]:
http://sentry.readthedocs.org/en/latest/
[2]:
http://raven.readthedocs.org/en/latest/config/pylons.html
[3]:
https://gist.github.com/moschlar/5523905#file-stacktrace-py
--
Moritz Schlarb