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
This commit is contained in:
Sébastien Luttringer 2023-07-01 16:42:11 +02:00 committed by Calum Lind
parent 21470799d0
commit 1dbb18b80a
No known key found for this signature in database
GPG key ID: 90597A687B836BA3

View file

@ -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'
)