From caa648b1ea98d2907df32f8182afc29b7cbc1237 Mon Sep 17 00:00:00 2001 From: David Wilson Date: Tue, 3 Jul 2018 17:37:35 +0100 Subject: [PATCH] utils: handle duplicate log_to_file() calls. --- mitogen/utils.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mitogen/utils.py b/mitogen/utils.py index e0acf7d0..4fd80aa1 100644 --- a/mitogen/utils.py +++ b/mitogen/utils.py @@ -81,7 +81,14 @@ def log_to_file(path=None, io=False, level='INFO'): level = getattr(logging, level, logging.INFO) log.setLevel(level) + # Prevent accidental duplicate log_to_file() calls from generating + # duplicate output. + for handler_ in reversed(log.handlers): + if getattr(handler_, 'is_mitogen', None): + log.handlers.remove(handler_) + handler = logging.StreamHandler(fp) + handler.is_mitogen = True handler.formatter = log_get_formatter() log.handlers.insert(0, handler)