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