logging: Also set log level of logger handlers (#7576)

After #7526 the default logger passes logs to a StreamHandler, which has
its own log level. Changing the log level of the logger alone does not
take effect in such case.

Update the log level of all handlers when changing the parent logger's.

Signed-off-by: Junjie Mao <junjie.mao@linux.alibaba.com>
This commit is contained in:
Junjie Mao
2025-09-23 11:32:37 +08:00
committed by GitHub
parent 325c6c5e9c
commit 35de2030be

View File

@ -145,7 +145,7 @@ def get_log_level_from_string(log_level_str):
def set_log_level_from_string(log_level_str, custom_logger=None):
"""Sets a log level in the passed `logger` from string. e.g. "info" => `logging.INFO`
"""Sets a log level in the passed `logger` and its handlers from string. e.g. "info" => `logging.INFO`
Args:
log_level_str: one of 'debug', 'info', 'warning', 'error', 'critical'
@ -155,6 +155,8 @@ def set_log_level_from_string(log_level_str, custom_logger=None):
if custom_logger is None:
custom_logger = logger
custom_logger.setLevel(log_level)
for handler in custom_logger.handlers:
handler.setLevel(log_level)
def get_current_level():