Skip to content

Commit 3c558c7

Browse files
committed
Updated Exception raised in... message to use exc_info=True
1 parent af15b7b commit 3c558c7

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

pyemitter.py

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import logging
2-
import traceback
32

43
# concurrent.futures is optional
54
try:
@@ -170,19 +169,33 @@ def __call(self, callback, args=None, kwargs=None, event=None):
170169

171170
return self.__call_sync(callback, args, kwargs, event)
172171

173-
@staticmethod
174-
def __call_sync(callback, args=None, kwargs=None, event=None):
172+
@classmethod
173+
def __call_sync(cls, callback, args=None, kwargs=None, event=None):
175174
try:
176175
callback(*args, **kwargs)
177-
178176
return True
179177
except Exception as ex:
180-
log.warn('Exception raised in callback %s for event "%s" - %s', callback, event, traceback.format_exc())
178+
log.warn('[%s] Exception raised in: %s - %s' % (event, cls.__function_name(callback), ex), exc_info=True)
181179
return False
182180

183181
def __call_async(self, callback, args=None, kwargs=None, event=None):
184182
self.__threading_pool.submit(self.__call_sync, callback, args, kwargs, event)
185183

184+
@staticmethod
185+
def __function_name(func):
186+
fragments = []
187+
188+
# Try append class name
189+
cls = getattr(func, 'im_class', None)
190+
191+
if cls and hasattr(cls, '__name__'):
192+
fragments.append(cls.__name__)
193+
194+
# Append function name
195+
fragments.append(func.__name__)
196+
197+
return '.'.join(fragments)
198+
186199

187200
class PipeHandler(object):
188201
def __init__(self, event, callback):

0 commit comments

Comments
 (0)