Browse Source

Adding signals after_setup_logger and after_setup_task_logger

Mauro 14 years ago
parent
commit
4268e4a2db
2 changed files with 12 additions and 1 deletions
  1. 8 1
      celery/log.py
  2. 4 0
      celery/signals.py

+ 8 - 1
celery/log.py

@@ -118,12 +118,16 @@ class Logging(object):
                 root.handlers = []
 
             mp = mputil and mputil.get_logger() or None
-            for logger in (root, mp):
+            for logger in filter(None, (root, mp)):
                 if logger:
                     self._setup_logger(logger, logfile, format,
                                        colorize, **kwargs)
                     logger.setLevel(loglevel)
+                    signals.after_setup_logger.send(sender=None, logger=logger,
+                                        loglevel=loglevel, logfile=logfile,
+                                        format=format, colorize=colorize)
         Logging._setup = True
+
         return receivers
 
     def _detect_handler(self, logfile=None):
@@ -187,6 +191,9 @@ class Logging(object):
                                     logfile, format, colorize, **kwargs)
         logger.propagate = int(propagate)    # this is an int for some reason.
                                              # better to not question why.
+        signals.after_setup_task_logger.send(sender=None, logger=logger,
+                                     loglevel=loglevel, logfile=logfile,
+                                     format=format, colorize=colorize)
         return LoggerAdapter(logger, {"task_id": task_id,
                                       "task_name": task_name})
 

+ 4 - 0
celery/signals.py

@@ -290,6 +290,10 @@ worker_shutdown = Signal(providing_args=[])
 
 setup_logging = Signal(providing_args=["loglevel", "logfile",
                                        "format", "colorize"])
+after_setup_logger = Signal(providing_args=["logger","loglevel", "logfile",
+                                       "format", "colorize"])
+after_setup_task_logger = Signal(providing_args=["logger","loglevel", "logfile",
+                                       "format", "colorize"])
 
 beat_init = Signal(providing_args=[])
 beat_embedded_init = Signal(providing_args=[])