[BUGFIX] Fix quiet log level not showing warning logs (#516)

This commit is contained in:
Jesse Bannon
2023-03-08 16:30:42 -08:00
committed by GitHub
parent 91e9fe7602
commit ce877a32f9
3 changed files with 21 additions and 3 deletions

View File

@@ -1,5 +1,4 @@
import gc
import logging
import os
import sys
from datetime import datetime
@@ -329,6 +328,6 @@ def main() -> List[Tuple[Subscription, FileHandlerTransactionLog]]:
)
# Hack to always show download summary, even if logs are set to quiet
logger.log(logging.WARNING, "Download Summary:\n%s", _output_summary(transaction_logs))
logger.warning("Download Summary:\n%s", _output_summary(transaction_logs))
return transaction_logs

View File

@@ -155,7 +155,7 @@ class Logger:
logger_name += f":{name}"
logger = logging.Logger(name=logger_name, level=logging.DEBUG)
if stdout and cls._LOGGER_LEVEL.level >= LoggerLevels.INFO.level:
if stdout:
logger.addHandler(cls._get_stdout_handler())
if debug_file:
logger.addHandler(cls._get_debug_file_handler())

View File

@@ -24,6 +24,25 @@ class TestLogger:
with pytest.raises(ValueError):
Logger.set_log_level("nope")
@pytest.mark.parametrize(
"log_level",
[
LoggerLevels.QUIET,
LoggerLevels.INFO,
LoggerLevels.VERBOSE,
LoggerLevels.DEBUG,
],
)
def test_logger_warning_stdout(self, capsys, log_level):
Logger._LOGGER_LEVEL = log_level
logger = Logger.get(name="name_test")
logger.warning("test")
captured = capsys.readouterr()
# Warning should always be captured
assert captured.out == "[ytdl-sub:name_test] test\n"
@pytest.mark.parametrize(
"log_level, outputs_to_stdout",
[