From 1dbb18b80ac3cd1bd7f535b772810c37eda0ec2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Luttringer?= Date: Sat, 1 Jul 2023 16:42:11 +0200 Subject: [PATCH] Fix tweaking logging levels When you set a config directory path (-c) on the command line, and only when, a file named logging.conf is read to set fine grained log levels. This allows to have per module/plugin log levels. A simple logging.conf could be: -<8 ------------------- deluge:info deluge.plugin.foo:debug ----------------------- The file is parsed and the log levels are set in the deluge.log.tweak_logging_levels. This function set the appropriate logger to the desired level. Despite the log level is changed, log levels less than ERROR are still not logged. The reason is that the log level check is done twice, in the logging.Logger class and in the logging.Handler class. The fix is to not set the logging level in the Handler in deluge.log.setup_logger and let only the logging.Logger check the level. Closes: https://github.com/deluge-torrent/deluge/pull/428 --- deluge/log.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/deluge/log.py b/deluge/log.py index 9ac0e27d5..ef31f4ddc 100644 --- a/deluge/log.py +++ b/deluge/log.py @@ -156,8 +156,6 @@ def setup_logger( else: handler = logging.StreamHandler(stream=output_stream) - handler.setLevel(level) - formatter = logging.Formatter( DEFAULT_LOGGING_FORMAT % MAX_LOGGER_NAME_LENGTH, datefmt='%H:%M:%S' )