@@ -91,6 +91,7 @@ def wrap(*args, **kwargs):
9191 return func (* args , ** kwargs )
9292 return wrap
9393
94+
9495try :
9596 from tornado .gen import coroutine as tornado_coroutine
9697 from tornado .httpclient import AsyncHTTPClient as TornadoAsyncHTTPClient
@@ -102,7 +103,7 @@ def wrap(*args, **kwargs):
102103 import treq
103104 from twisted .python import log as twisted_log
104105
105- def log_handler (event ):
106+ def twisted_log_observer (event ):
106107 """
107108 Default uncaught error handler
108109 """
@@ -119,11 +120,6 @@ def log_handler(event):
119120 report_exc_info ((err .type , err .value , err .getTracebackObject ()))
120121 except :
121122 log .exception ('Error while reporting to Rollbar' )
122-
123- # Add Rollbar as a log handler which will report uncaught errors
124- twisted_log .addObserver (log_handler )
125-
126-
127123except ImportError :
128124 treq = None
129125
@@ -302,8 +298,12 @@ def init(access_token, environment='production', **kw):
302298 if SETTINGS .get ('allow_logging_basic_config' ):
303299 logging .basicConfig ()
304300
305- if SETTINGS .get ('handler' ) == 'agent' :
301+ handler = SETTINGS .get ('handler' )
302+ if handler == 'agent' :
306303 agent_log = _create_agent_log ()
304+ elif handler == 'twisted' and treq :
305+ # Add Rollbar as a Twisted Observer which will report uncaught errors
306+ twisted_log .addObserver (twisted_log_observer )
307307
308308 # We will perform these transforms in order:
309309 # 1. Serialize the payload to be all python built-in objects
@@ -448,7 +448,7 @@ def send_payload(payload, access_token):
448448 _send_payload_appengine (payload_str , access_token )
449449 elif handler == 'twisted' :
450450 if treq is None :
451- log .error ('Unable to find Treq ' )
451+ log .error ('treq and twisted are required for the twisted handler ' )
452452 return
453453 _send_payload_twisted (payload_str , access_token )
454454 else :
@@ -1193,7 +1193,7 @@ def _build_server_data():
11931193 # argv does not always exist in embedded python environments
11941194 argv = getattr (sys , 'argv' , None )
11951195 if argv :
1196- server_data ['argv' ] = argv
1196+ server_data ['argv' ] = argv
11971197
11981198 for key in ['branch' , 'root' ]:
11991199 if SETTINGS .get (key ):
0 commit comments