def process_exception(self, request, exc): _exception = {} _exception['url'] = request.build_absolute_uri() _exception.update(self.exception_info(exc, sys.exc_info()[2])) _exception['data'] = self.request_info(request) # Additional data exception(data=_exception)
def amon_tween(request, amonpy=amonpy): try: return handler(request) except Exception as exc: url = request.url env_excludes = ("HTTP_COOKIE", "webob._parsed_cookies") env = [(k, request.get(k)) for k in request.environ if k not in env_excludes] info = exc_info(exc, sys.exc_info()[2]) extras = {} if request.GET: extras.update({"get": saferepr([(k, request.GET.getall(k)) for k in request.GET])}) if request.POST: extras.update( {"post": saferepr([(k, [saferepr(p) for p in request.POST.getall(k)]) for k in request.POST])} ) if request.cookies: extras.update({"cookies": saferepr(request.cookies.items())}) if hasattr(request, "session"): if request.session: extras.update({"session": saferepr(request.session.items())}) if request.matchdict: extras.update({"matchdict": saferepr(request.matchdict.items())}) if request.matched_route: extras.update( { "matched_route": saferepr( [("name", request.matched_route.name), ("path", request.matched_route.path)] ) } ) data = { "exception_class": info["exception_class"], "url": url, "backtrace": info["backtrace"], "message": info["message"], "enviroment": saferepr(env), "data": extras, } amonpy.exception(data) raise
import amonpy import sys import traceback # Http amonpy.config.address = 'http://127.0.0.1:2465' amonpy.config.secret_key = 'u6ljlx2glnf8xq45ut1etkpxghmjpe3e' for i in range(0, 100): amonpy.log('test data', ['debug','messages','http']) # ZeroMQ #amonpy.config.address = '127.0.0.1:5464' #amonpy.config.protocol = 'zeromq' #amonpy.log('test data zeromq', ['debug','messages', 'zeromq']) try: 1/0 except Exception, e: type, value, backtrace = sys.exc_info() data = { 'exception_class': e.__class__.__name__, 'backtrace': traceback.format_exception(type, value, backtrace) , 'enviroment': '', 'data': {"message": "test"} } amonpy.exception(data)
import amonpy import sys import traceback # Http amonpy.config.address = 'http://127.0.0.1:2464' for i in range(0, 100): amonpy.log('test data', ['debug', 'messages', 'http']) # ZeroMQ amonpy.config.address = '127.0.0.1:5464' amonpy.config.protocol = 'zeromq' amonpy.log('test data zeromq', ['debug', 'messages', 'zeromq']) try: 1 / 0 except Exception, e: type, value, backtrace = sys.exc_info() data = { 'exception_class': e.__class__.__name__, 'backtrace': traceback.format_exception(type, value, backtrace), 'enviroment': '', 'data': { "message": "test" } } amonpy.exception(data)