Andrew Godwin committed 2835d25

Fix #386 (too many file handlers)

Comments (0)

Files changed (1)

 import logging
 from django.conf import settings
+# Create a dummy handler to use for now.
 class NullHandler(logging.Handler):
     def emit(self, record):
-h = NullHandler()
 _logger = logging.getLogger("south")
-# TODO: Add a log formatter?
 def get_logger():
+    "Attach a file handler to the logger if there isn't one already."
     debug_on = getattr(settings, "SOUTH_LOGGING_ON", False)
     logging_file = getattr(settings, "SOUTH_LOGGING_FILE", False)
     if debug_on:
-        if logging_file:
-            _logger.addHandler( logging.FileHandler(logging_file) )
+        if logging_file and len(_logger.handlers) < 2:
+            _logger.addHandler(logging.FileHandler(logging_file))
             raise IOError, "SOUTH_LOGGING_ON is True. You also need a SOUTH_LOGGING_FILE setting."
     return _logger
 def close_logger():