Exemple #1
0
 def logging_config(self, name):
     if name != 'main':
         raise KeyError
     parser = SafeConfigParser()
     parser.read(self.path)
     for section_name in ('loggers', 'handlers', 'formatters'):
         if not parser.has_section(section_name):
             raise KeyError
     loggers = convert_loggers(parser)
     handlers = convert_handlers(parser)
     formatters = convert_formatters(parser)
     return combine(loggers, handlers, formatters)
def test_combined(ini_cp):
    loggers = convert_loggers(ini_cp)
    handlers = convert_handlers(ini_cp)
    formatters = convert_formatters(ini_cp)
    root_logger = loggers['root']
    other_loggers = dict([(k, v) for k, v in loggers.items() if k != 'root'])
    expected = {
        'version': 1,
        'root': root_logger,
        'loggers': other_loggers,
        'handlers': handlers,
        'formatters': formatters,
    }
    actual = combine(loggers, handlers, formatters)
    assert expected == actual
def test_formatters(ini_cp):
    expected = {
        'simple': {
            'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
        },
        'complicated': {
            'format': 'F1 %(asctime)s %(levelname)s %(message)s',
            'datefmt': '%a, %d %b %Y %H:%M:%S +0000',
            # class is omitted because it's the default
        },
        'withclass': {
            # montague doesn't have to inspect the callable for formatters
            # so this class doesn't have to exist
            '()': 'foobar.FooBarClass',
            'first': 'foo',
            'second': 'bar',
        },
    }
    actual = convert_formatters(ini_cp)
    assert expected == actual