コード例 #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"]
コード例 #2
0
 def test_traceback(self, messages) -> None:
     logger.info("Test", with_traceback=True)
     message = messages[0]
     assert message.record["message"] == "Test"
     assert message.record["extra"]["traceback"]
     message_with_traceback = message.split("\n")
     assert len(message_with_traceback) > 5  # arbitrary check of depth
コード例 #3
0
 def test_event_context_included(self, messages):
     with servo.events.EventContext.from_str("before:adjust").current():
         logger.info("Test", connector=self)
         message = messages[0]
         assert message.record["message"] == "Test"
         attributed_message = message.rsplit(" | ", 1)[1].strip()
         assert attributed_message == "TestFormatting[before:adjust] - Test"
コード例 #4
0
 def test_connector_context_var(self, messages):
     servo.connector._current_context_var.set(self)
     servo.events._current_context_var.set(
         servo.events.EventContext.from_str("before:adjust"))
     logger.info("Test")
     message = messages[0]
     assert message.record["message"] == "Test"
     attributed_message = message.rsplit(" | ", 1)[1].strip()
     assert attributed_message == "TestFormatting[before:adjust] - Test"
コード例 #5
0
 def test_explicit_component(self, messages):
     logger.info("Test", component="something_cool")
     message = messages[0]
     assert message.record["message"] == "Test"
     attributed_message = message.rsplit(" | ", 1)[1].strip()
     assert attributed_message == "something_cool - Test"
コード例 #6
0
 def test_servo_name_default_included(self, messages):
     logger.info("Test")
     message = messages[0]
     assert message.record["message"] == "Test"
     attributed_message = message.rsplit(" | ", 1)[1].strip()
     assert attributed_message == "servo - Test"
コード例 #7
0
 def test_connector_name_included(self, messages):
     logger.info("Test", connector=self)
     message = messages[0]
     assert message.record["message"] == "Test"
     attributed_message = message.rsplit(" | ", 1)[1].strip()
     assert attributed_message == "TestFormatting - Test"