From 1bc60f0b9b724dd136d96c3e8a4d06d8fccf51c0 Mon Sep 17 00:00:00 2001 From: Jan Vcelak Date: Thu, 22 Mar 2012 10:49:24 +0100 Subject: [PATCH] tuned: fix logging to files --- tuned/daemon.py | 2 +- tuned/logs.py | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tuned/daemon.py b/tuned/daemon.py index 913ee5d..1cf55d0 100644 --- a/tuned/daemon.py +++ b/tuned/daemon.py @@ -32,7 +32,7 @@ DEFAULT_CONFIG_FILE = "/etc/tuned/tuned.conf" class Daemon(object): def __init__(self): - log.info("initializing Daemon") + log.debug("initializing daemon") self._config_file = DEFAULT_CONFIG_FILE self._profile = None diff --git a/tuned/logs.py b/tuned/logs.py index d0c78d3..82365c0 100644 --- a/tuned/logs.py +++ b/tuned/logs.py @@ -43,6 +43,7 @@ def get(): elif name.startswith("tuned."): (root, child) = name.split(".", 1) child_logger = root_logger.getChild(child) + child_logger.remove_all_handlers() child_logger.setLevel("NOTSET") return child_logger else: @@ -58,7 +59,6 @@ class TunedLogger(logging.getLoggerClass()): super(self.__class__, self).__init__(*args, **kwargs) self.setLevel(logging.INFO) self.switch_to_console() - self.propagate = False def set_level(self, level, default = logging.NOTSET): """Set logging level. The 'level' parameter can be str or logging module constant.""" @@ -68,13 +68,17 @@ class TunedLogger(logging.getLoggerClass()): def switch_to_console(self): self._setup_console_handler() + self.remove_all_handlers() self.addHandler(self._console_handler) - self.removeHandler(self._file_handler) def switch_to_file(self): self._setup_file_handler() + self.remove_all_handlers() self.addHandler(self._file_handler) - self.removeHandler(self._console_handler) + + def remove_all_handlers(self): + for handler in self.handlers: + self.removeHandler(handler) @classmethod def _setup_console_handler(cls):