Forráskód Böngészése

Include exc_info in log messages

David Cramer 14 éve
szülő
commit
9dd454824e

+ 2 - 1
celery/apps/beat.py

@@ -85,7 +85,8 @@ class Beat(object):
             beat.start()
         except Exception, exc:
             logger.critical("celerybeat raised exception %s: %r\n%s" % (
-                            exc.__class__, exc, traceback.format_exc()))
+                            exc.__class__, exc, traceback.format_exc()),
+                            exc_info=sys.exc_info())
 
     def init_loader(self):
         # Run the worker init handler.

+ 3 - 1
celery/concurrency/processes/__init__.py

@@ -3,6 +3,7 @@
 Process Pools.
 
 """
+import sys
 import traceback
 
 from celery import log
@@ -124,7 +125,8 @@ class TaskPool(object):
             fun(*args)
         except:
             self.logger.error("Pool callback raised exception: %s" % (
-                traceback.format_exc(), ))
+                traceback.format_exc(), ),
+                exc_info=sys.exc_info())
 
     @property
     def info(self):

+ 2 - 1
celery/worker/controllers.py

@@ -3,6 +3,7 @@
 Worker Controller Threads
 
 """
+import sys
 import threading
 import traceback
 from Queue import Empty as QueueEmpty
@@ -54,7 +55,7 @@ class Mediator(threading.Thread):
             self.callback(task)
         except Exception, exc:
             self.logger.error("Mediator callback raised exception %r\n%s" % (
-                exc, traceback.format_exc()))
+                exc, traceback.format_exc()), exc_info=sys.exc_info())
 
     def run(self):
         while not self._shutdown.isSet():

+ 1 - 1
celery/worker/job.py

@@ -469,7 +469,7 @@ class TaskRequest(object):
                    "traceback": unicode(exc_info.traceback, 'utf-8'),
                    "args": self.args,
                    "kwargs": self.kwargs}
-        self.logger.error(self.error_msg.strip() % context)
+        self.logger.error(self.error_msg.strip() % context, exc_info=exc_info)
 
         task_obj = tasks.get(self.task_name, object)
         self.send_error_email(task_obj, context, exc_info.exception,