Преглед на файлове

Tests passing again after logging change

Ask Solem преди 14 години
родител
ревизия
c270f7ace7
променени са 2 файла, в които са добавени 15 реда и са изтрити 10 реда
  1. 3 8
      celery/log.py
  2. 12 2
      celery/tests/test_compat/test_log.py

+ 3 - 8
celery/log.py

@@ -162,7 +162,7 @@ class Logging(object):
         return self.get_default_logger(name=name)
 
     def setup_task_logger(self, loglevel=None, logfile=None, format=None,
-            colorize=None, task_name='-?-', task_id='-?-', propagate=False,
+            colorize=None, task_name=None, task_id=None, propagate=False,
             app=None, **kwargs):
         """Setup the task logger.
 
@@ -180,13 +180,8 @@ class Logging(object):
                                     logfile, format, colorize, **kwargs)
         logger.propagate = int(propagate)    # this is an int for some reason.
                                              # better to not question why.
-
-        extra = {
-            "task_id": task_id,
-            "task_name": task_name,
-        }
-
-        return LoggerAdapter(logger, extra)
+        return LoggerAdapter(logger, {"task_id": task_id,
+                                      "task_name": task_name})
 
     def redirect_stdouts_to_logger(self, logger, loglevel=None):
         """Redirect :class:`sys.stdout` and :class:`sys.stderr` to a

+ 12 - 2
celery/tests/test_compat/test_log.py

@@ -145,8 +145,18 @@ class test_default_logger(unittest.TestCase):
 class test_task_logger(test_default_logger):
 
     def setUp(self):
-        self.setup_logger = setup_task_logger
-        self.get_logger = get_task_logger
+        logger = get_task_logger()
+        logger.handlers = []
+        logging.root.manager.loggerDict.pop(logger.name, None)
+        self.id = gen_unique_id()
+
+    def setup_logger(self, *args, **kwargs):
+        return setup_task_logger(*args, **dict(kwargs, task_name=self.id,
+                                                       task_id=self.id))
+
+    def get_logger(self, *args, **kwargs):
+        id = gen_unique_id()
+        return get_task_logger(*args, **dict(kwargs, name=self.id))
 
 
 class MockLogger(logging.Logger):