示例#1
0
def attach_duplicate_log_filter(logger: Logger) -> None:
    """
    Attach the base scrapli logger DuplicateFilter filter to a provided logger

    Fails silently for now... forever?

    Args:
        logger: logger to attach the filter to

    Returns:
        N/A  # noqa: DAR202

    Raises:
        N/A

    """
    base_logger = getLogger("scrapli")
    try:
        dup_filter = [
            logging_filter.__class__ for logging_filter in base_logger.filters
            if logging_filter.__class__.__name__ == "DuplicateFilter"
        ][0]
        logger.addFilter(dup_filter())
    except IndexError:
        pass
示例#2
0
    def test_thread_context_filter(
        log_store: MockLoggingHandler,
        logger: Logger,
        thread_context_filter: ThreadContextFilter,
        message: Any,
        expected_message: Any,
    ) -> None:
        logger.addHandler(log_store)

        logger.info(message)

        logger.addFilter(thread_context_filter)

        logger.info(message)

        logger.removeFilter(thread_context_filter)

        logger.info(message)

        logged_messages: List[str] = log_store.messages["info"]
        assert len(logged_messages) == 3

        for i, logged_message in enumerate(logged_messages):
            try:
                logged_message = eval(logged_message)
            except NameError:
                pass
            if i == 1:
                # message affected with the thread context logger
                assert logged_message == expected_message
            else:
                # message before/after the thread context logger
                assert logged_message == message

        log_store.reset()
示例#3
0
def init(logger: logging.Logger) -> 'VerediFilter':
    '''
    Create and add the VerediFilter to the provided logger.
    '''
    filter = VerediFilter()

    # Attach it to the logger...
    logger.addFilter(filter)

    # And done.
    return filter