ó ¿öYc@@s—dZddlmZddlmZddlZddlZddlZddlmZddl m Z ddl m Z dej fd „ƒYZdS( s© raven.handlers.logbook ~~~~~~~~~~~~~~~~~~~~~~ :copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details. :license: BSD, see LICENSE for more details. i(tabsolute_import(tprint_functionN(t string_types(tClient(t to_stringt SentryHandlercB@s#eZd„Zd„Zd„ZRS(cO@sât|ƒdkr|d}t|tƒrO|jdtƒd|||_n7t|tƒrj||_ntd|jj|fƒ‚g}n6y|jdƒ|_Wnt k rÄt dƒ‚nXt t |ƒj ||ŽdS(Niit client_clstdsnsSThe first argument to %s must be either a Client instance or a DSN, got %r instead.tclients3Expected keyword argument for SentryHandler: client(tlent isinstanceRtpopRRt ValueErrort __class__t__name__tKeyErrort TypeErrortsuperRt__init__(tselftargstkwargstarg((sG/opt/alt/python27/lib/python2.7/site-packages/raven/handlers/logbook.pyRs $     cC@sÝyI|jjdƒr;tt|j|ƒƒdtjƒdS|j|ƒSWntk rØ|j j rk‚ntddtjƒtt|j ƒdtjƒttt j ƒƒƒy|j jƒWqÙtk rÔqÙXnXdS(Ns sentry.errorstraventfiles>Top level Sentry exception caught - failed creating log record(s sentry.errorsR(tchannelt startswithtprintRtformattsyststderrt_emitt ExceptionRtraise_send_errorstmsgt tracebackt format_exctcaptureException(Rtrecord((sG/opt/alt/python27/lib/python2.7/site-packages/raven/handlers/logbook.pytemit*s"   cC@sHitj|jƒjƒd6|jd6}d}i|jd6|jd6|j|ƒd6}d|jkr||jd|ds4   '     (Rt __module__RR'R(((sG/opt/alt/python27/lib/python2.7/site-packages/raven/handlers/logbook.pyRs  (t__doc__t __future__RRR6RR#traven.utils.compatRt raven.baseRtraven.utils.encodingRtHandlerR(((sG/opt/alt/python27/lib/python2.7/site-packages/raven/handlers/logbook.pyts