Преглед изворни кода

Must monkeypatch logger in celery.log.setup_logger

Ask Solem пре 15 година
родитељ
комит
2adc800153
1 измењених фајлова са 6 додато и 0 уклоњено
  1. 6 0
      celery/log.py

+ 6 - 0
celery/log.py

@@ -5,6 +5,7 @@ import time
 import logging
 import logging
 import traceback
 import traceback
 from celery.conf import LOG_FORMAT, DAEMON_LOG_LEVEL
 from celery.conf import LOG_FORMAT, DAEMON_LOG_LEVEL
+from celery.patch import monkeypatch
 
 
 
 
 def get_default_logger(loglevel=None):
 def get_default_logger(loglevel=None):
@@ -14,6 +15,7 @@ def get_default_logger(loglevel=None):
     return logger
     return logger
 
 
 
 
+_monkeypatched = [False]
 def setup_logger(loglevel=DAEMON_LOG_LEVEL, logfile=None, format=LOG_FORMAT,
 def setup_logger(loglevel=DAEMON_LOG_LEVEL, logfile=None, format=LOG_FORMAT,
         **kwargs):
         **kwargs):
     """Setup the ``multiprocessing`` logger. If ``logfile`` is not specified,
     """Setup the ``multiprocessing`` logger. If ``logfile`` is not specified,
@@ -21,6 +23,10 @@ def setup_logger(loglevel=DAEMON_LOG_LEVEL, logfile=None, format=LOG_FORMAT,
 
 
     Returns logger object.
     Returns logger object.
     """
     """
+    if not _monkeypatched[0]:
+        monkeypatch()
+        _monkeypatched[0] = True
+
     logger = get_default_logger(loglevel=loglevel)
     logger = get_default_logger(loglevel=loglevel)
     if logger.handlers:
     if logger.handlers:
         # Logger already configured
         # Logger already configured