def test_setup_logging_debug_loggers(capsys, creation_time): """Ensure debug loggers are created with the debug level and log debug messages. Creation time defines if the debug logger is created before setting up logging (usual case) or afterwards (the case for lazy imported modules). """ name = "my.module.logger" if creation_time == "before": module_logger = log.module_logger(name) log.setup_logging(logging.WARNING, name) if creation_time == "after": module_logger = log.module_logger(name) message = "Show this debug statement" module_logger.debug(message) captured = capsys.readouterr() assert module_logger.level == logging.DEBUG assert message in captured.err
def test_module_logger_level_after_setup(capsys, level): """Ensure module loggers are created with global app level.""" log.setup_logging(level) module_logger = log.module_logger("my.module.logger") message = "Show this debug statement" module_logger.log(level, message) captured = capsys.readouterr() assert module_logger.level == level assert message in captured.err
def test_log_once(capsys, setup_logging): """Ensure we only log a message once when using the once keyword.""" logger = log.module_logger("test_log") message = "Show this message once" logger.error(message, once=True) logger.error(message, once=True) captured = capsys.readouterr() matches = re.findall(message, captured.err) assert len(matches) == 1
""" import os import random from typing import List, Iterable, Optional from PyQt5.QtCore import QObject, pyqtSlot from vimiv import api, utils, imutils from vimiv.commands import search, number_for_command from vimiv.imutils import slideshow from vimiv.utils import files, log _paths: List[str] = [] _index = 0 _logger = log.module_logger(__name__) # We want to use the name next here as it is the best name for the command @api.keybindings.register("<ctrl>n", "next --keep-zoom", mode=api.modes.IMAGE) @api.keybindings.register(["n", "<page-down>"], "next", mode=api.modes.IMAGE) @api.commands.register(name="next") def next_path(count: int = 1, keep_zoom: bool = False) -> None: """Select next image. **syntax:** ``:next [--keep-zoom]`` optional arguments: * ``--keep-zoom``: Keep zoom level and scroll position of the current image. **count:** multiplier
def test_module_logger_name(name): expected = name.replace("vimiv.", "") logger = log.module_logger(name) assert logger._name == expected