Example #1
0
    def test_filtering_by_level(self) -> None:
        messages = []

        def raw_messages() -> List[str]:
            return list(map(lambda m: m.record["message"], messages))

        logger.remove(None)
        logger.add(lambda m: messages.append(m),
                   filter=DEFAULT_FILTER,
                   level=0)

        set_level("CRITICAL")
        logger.debug("Test")
        assert raw_messages() == []
        logger.critical("Another")
        assert raw_messages() == ["Another"]
        logger.info("Info")
        assert raw_messages() == ["Another"]

        set_level("INFO")
        logger.info("Info")
        assert raw_messages() == ["Another", "Info"]
        logger.trace("Trace")
        assert raw_messages() == ["Another", "Info"]

        set_level("TRACE")
        logger.trace("trace")
        logger.debug("debug")
        logger.error("error")
        assert raw_messages() == ["Another", "Info", "trace", "debug", "error"]
Example #2
0
def test_log_execution_time_no_args() -> None:
    @log_execution_time
    def log_me():
        pass

    messages = []
    logger.add(lambda m: messages.append(m), level=0)
    log_me()
    assert messages[0].record["message"] == "Function 'log_me' executed in 15s"
Example #3
0
def test_log_execution_time() -> None:
    @log_execution_time(level="INFO")
    def log_me():
        pass

    messages = []
    logger.add(lambda m: messages.append(m), level=0)
    log_me()
    assert messages[0].record["message"] == "Function 'log_me' executed in 15s"
    assert messages[0].record["level"].name == "INFO"
Example #4
0
def test_log_execution() -> None:
    @log_execution
    def log_me():
        pass

    messages = []
    logger.add(lambda m: messages.append(m), level=0)
    log_me()
    assert messages[0].record[
        "message"] == "Entering 'log_me' (args=(), kwargs={})"
    assert messages[1].record["message"] == "Exiting 'log_me' (result=None)"
Example #5
0
    def test_logging_to_trace(self) -> None:
        messages = []
        logger.add(lambda m: messages.append(m),
                   filter=DEFAULT_FILTER,
                   level=0)

        set_level("TRACE")
        logger.critical("critical")
        logger.debug("debug")
        logger.trace("trace1")
        logger.trace("trace2")
        messages = list(map(lambda m: m.record["message"], messages))
        assert messages == ["critical", "debug", "trace1", "trace2"]
Example #6
0
 def setup_handler(self, messages) -> loguru.Logger:
     logger.add(lambda m: messages.append(m),
                format=DEFAULT_FORMATTER,
                level=0)
Example #7
0
 def logger(self, handler: ProgressHandler) -> loguru.Logger:
     logger = loguru.logger.bind(connector="progress")
     logger.add(handler.sink)
     return logger