Bug #3136: fileConfig()'s disabling of old loggers is now conditional via an optional disable_existing_loggers parameter, but the default value is such that the old behaviour is preserved.

Thanks to Leandro Lucarella for the patch.
This commit is contained in:
Vinay Sajip 2008-06-19 22:40:17 +00:00
parent 6f5a2b52ae
commit 5f7b97d987
1 changed files with 4 additions and 4 deletions

View File

@ -52,7 +52,7 @@ else:
# _listener holds the server object doing the listening # _listener holds the server object doing the listening
_listener = None _listener = None
def fileConfig(fname, defaults=None): def fileConfig(fname, defaults=None, disable_existing_loggers=1):
""" """
Read the logging configuration from a ConfigParser-format file. Read the logging configuration from a ConfigParser-format file.
@ -82,7 +82,7 @@ def fileConfig(fname, defaults=None):
del logging._handlerList[:] del logging._handlerList[:]
# Handlers add themselves to logging._handlers # Handlers add themselves to logging._handlers
handlers = _install_handlers(cp, formatters) handlers = _install_handlers(cp, formatters)
_install_loggers(cp, handlers) _install_loggers(cp, handlers, disable_existing_loggers)
finally: finally:
logging._releaseLock() logging._releaseLock()
@ -170,7 +170,7 @@ def _install_handlers(cp, formatters):
return handlers return handlers
def _install_loggers(cp, handlers): def _install_loggers(cp, handlers, disable_existing_loggers):
"""Create and install loggers""" """Create and install loggers"""
# configure the root first # configure the root first
@ -255,7 +255,7 @@ def _install_loggers(cp, handlers):
logger.level = logging.NOTSET logger.level = logging.NOTSET
logger.handlers = [] logger.handlers = []
logger.propagate = 1 logger.propagate = 1
else: elif disable_existing_loggers:
logger.disabled = 1 logger.disabled = 1