diff --git a/pokemongo_bot/__init__.py b/pokemongo_bot/__init__.py index 1b18ac7ff8..c686db38f0 100644 --- a/pokemongo_bot/__init__.py +++ b/pokemongo_bot/__init__.py @@ -90,9 +90,9 @@ def start(self): def _setup_event_system(self): handlers = [] if self.config.logging_color: - handlers.append(ColoredLoggingHandler()) + handlers.append(ColoredLoggingHandler(self)) else: - handlers.append(LoggingHandler()) + handlers.append(LoggingHandler(self)) if self.config.websocket_server_url: if self.config.websocket_start_embedded_server: diff --git a/pokemongo_bot/event_handlers/colored_logging_handler.py b/pokemongo_bot/event_handlers/colored_logging_handler.py index f3c902d464..76205ada1d 100644 --- a/pokemongo_bot/event_handlers/colored_logging_handler.py +++ b/pokemongo_bot/event_handlers/colored_logging_handler.py @@ -97,7 +97,8 @@ class ColoredLoggingHandler(EventHandler): 'cyan': '96' } - def __init__(self): + def __init__(self, bot): + self.bot = bot self._last_event = None try: # this `try ... except` is for ImportError on Windows @@ -110,6 +111,12 @@ def __init__(self): self._TIOCGWINSZ = None def handle_event(self, event, sender, level, formatted_msg, data): + + # Honour config settings if log level disabled + if hasattr(self.bot.config, level) and not getattr(self.bot.config, level): + self._last_event = event + return + # Prepare message string message = None if formatted_msg: diff --git a/pokemongo_bot/event_handlers/logging_handler.py b/pokemongo_bot/event_handlers/logging_handler.py index 7ad5720f6a..1f87414ad8 100644 --- a/pokemongo_bot/event_handlers/logging_handler.py +++ b/pokemongo_bot/event_handlers/logging_handler.py @@ -9,7 +9,15 @@ class LoggingHandler(EventHandler): + def __init__(self, bot): + self.bot = bot + def handle_event(self, event, sender, level, formatted_msg, data): + + # Honour config settings if log level disabled + if hasattr(self.bot.config, level) and not getattr(self.bot.config, level): + return + logger = logging.getLogger(type(sender).__name__) if formatted_msg: message = "[{}] {}".format(event, formatted_msg)