Python2.7: настройка регистрации с помощью yaml - программирование
Подтвердить что ты не робот

Python2.7: настройка регистрации с помощью yaml

Я пытаюсь настроить регистратор из файла yaml. На docs.python.org я нашел пример создания файла yaml, и созданный мной файл выглядит следующим образом:

formatters:
    simpleFormater:
        format: '%(asctime)s - %(levelname)s: %(message)s'
        datefmt: '%Y/%m/%d %H:%M:%S'

handlers:
    console:
        class: logging.StreamHandler
        formatter: simpleFormater
        level: DEBUG
        stream: ext://sys.stdout
    file:
        class : logging.FileHandler
        formatter: simpleFormater
        level: WARNING
        filename: songinfo.log

loggers:
    clogger:
        level: DEBUG
        handlers: [console]
    flogger:
        level: WARNING
        handlers: [file]

root:
    level: DEBUG
    handlers: [console, file]

Но я не могу найти пример загрузки конфигурации. Я видел что-то о загрузке:

logging.config.dictConfig(yaml.load(open('logging.conf', 'r')))

но это вызывает "Словарь ValueError: не указывает версию"

Итак, мой вопрос: как загрузить его в журнал на Python и как использовать clogger и flogger.

4b9b3361

Ответ 1

Из чтения документации python мы видим, что в конфигурации есть необходимый ключ, который говорит version.

Вам нужна строка в вашей конфигурации, в которой говорится

version: 1

Или вы можете сделать:

with open('logging.conf') as f:
    D = yaml.load(f)
    D.setdefault('version', 1)
    logging.config.dictConfig(D)