コード例 #1
0
def test_bipolar_formatter():
    """
    Make sure the bipolar formatter calls the correct formatter.
    """
    low_counter = FormatCounter('%(message)s')
    low_formatter = logging.Formatter(fmt=low_counter)
    high_counter = FormatCounter('%(message)s')
    high_formatter = logging.Formatter(fmt=high_counter)
    logger = logging.getLogger('test_bipolar_formatter')
    formatter = BipolarFormatter(low_formatter, high_formatter,
                                 logging.INFO, logger=logger)
    handler = logging.StreamHandler()
    handler.setFormatter(formatter)
    logger.addHandler(handler)

    assert logger is formatter.logger

    logger.setLevel(1)

    logger.info('boo')
    logger.error('baa')
    # Logger level <= cutoff, so both should go to low_counter
    assert low_counter.get_count() == 2
    assert high_counter.get_count() == 0

    logger.setLevel(logging.WARNING)
    logger.info('boo')
    logger.warning('baa')
    # Logger level > cutoff, so both should go to high_counter, but one of the
    # messages is too low priority to be shown.
    assert low_counter.get_count() == 2
    assert high_counter.get_count() == 1
コード例 #2
0
def test_bipolar_formatter_logger():
    """
    Make sure the bipolar logger picks the correct logger if none is given.
    """
    low_counter = FormatCounter('%(message)s')
    low_formatter = logging.Formatter(fmt=low_counter)
    high_counter = FormatCounter('%(message)s')
    high_formatter = logging.Formatter(fmt=high_counter)
    formatter = BipolarFormatter(low_formatter, high_formatter, logging.INFO)
    handler = logging.StreamHandler()
    handler.setFormatter(formatter)
    logger = formatter.logger
    logger.addHandler(handler)

    expected_logger = logging.getLogger()
    assert expected_logger is logger
コード例 #3
0
ファイル: logging.py プロジェクト: marrink-lab/polyply_1.0
    StyleAdapter,
    BipolarFormatter,
    CountingHandler,
    TypeAdapter,
)

# Implement Logger
LOGGER = TypeAdapter(logging.getLogger('polyply'))
PRETTY_FORMATTER = logging.Formatter(fmt='{levelname:} - {type} - {message}',
                                     style='{')
DETAILED_FORMATTER = logging.Formatter(
    fmt='{levelname:} - {type} - {name} - {message}', style='{')
COUNTER = CountingHandler()

# Control above what level message we want to count
COUNTER.setLevel(logging.WARNING)

CONSOLE_HANDLER = logging.StreamHandler()
FORMATTER = BipolarFormatter(DETAILED_FORMATTER,
                             PRETTY_FORMATTER,
                             logging.DEBUG,
                             logger=LOGGER)

CONSOLE_HANDLER.setFormatter(FORMATTER)
LOGGER.addHandler(CONSOLE_HANDLER)
LOGGER.addHandler(COUNTER)

LOGGER = StyleAdapter(LOGGER)

LOGLEVELS = {0: logging.INFO, 1: logging.DEBUG, 2: 5}