コード例 #1
0
def logger(caplog):
    logging.config.dictConfig({
        'version': 1,
        'handlers': {
            __name__: {
                # Reset later
                'class': 'logging.StreamHandler',
                'stream': 'ext://sys.stdout',
            }
        },
        'loggers': {
            __name__: {
                'handlers': [__name__],
                'level': logging.INFO,
                'propagate': False,
            }
        },
        'disable_existing_loggers': False,
    })
    formatter = ShortExcFormatter("%(levelname)s %(message)s")
    logger = logging.getLogger(__name__)

    caplog.handler.setFormatter(formatter)
    logger.handlers = [caplog.handler]
    filt = SecretsMasker()
    logger.addFilter(filt)

    filt.add_mask('password')

    return logger
コード例 #2
0
    def test_redact(self, patterns, name, value, expected):
        filt = SecretsMasker()
        for val in patterns:
            filt.add_mask(val)

        assert filt.redact(value, name) == expected
コード例 #3
0
    def test_mask_secret(self, name, value, expected_mask):
        filt = SecretsMasker()
        filt.add_mask(value, name)

        assert filt.patterns == expected_mask