[BUGFIX] Fix quiet log level not showing warning logs (#516)
This commit is contained in:
parent
91e9fe7602
commit
ce877a32f9
3 changed files with 21 additions and 3 deletions
|
|
@ -1,5 +1,4 @@
|
||||||
import gc
|
import gc
|
||||||
import logging
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from datetime import datetime
|
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
|
# 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
|
return transaction_logs
|
||||||
|
|
|
||||||
|
|
@ -155,7 +155,7 @@ class Logger:
|
||||||
logger_name += f":{name}"
|
logger_name += f":{name}"
|
||||||
|
|
||||||
logger = logging.Logger(name=logger_name, level=logging.DEBUG)
|
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())
|
logger.addHandler(cls._get_stdout_handler())
|
||||||
if debug_file:
|
if debug_file:
|
||||||
logger.addHandler(cls._get_debug_file_handler())
|
logger.addHandler(cls._get_debug_file_handler())
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,25 @@ class TestLogger:
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
Logger.set_log_level("nope")
|
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(
|
@pytest.mark.parametrize(
|
||||||
"log_level, outputs_to_stdout",
|
"log_level, outputs_to_stdout",
|
||||||
[
|
[
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue