Вход в Django с помощью пользовательского форматера - PullRequest
0 голосов
/ 04 декабря 2018

Я использую следующие конфигурации регистрации в моем коде.

LOGGING = {
    'version': 1,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
            'stream': sys.stdout,
        }
    },
    'formatters': {
        'simple': {
            'format': '%(levelname)s %(asctime)s %(name)s.%(funcName)s:%(lineno)s- %(message)s'
        },
    },
    'root': {
        'handlers': ['console'],
        'level': 'INFO'
    }
}

Вот как я веду журнал.

logging.config.dictConfig(LOGGING)
logging.info('Hello World!')

Проблема в том, что строка формата не соблюдается,Как мне заставить работать форматтер?

1 Ответ

0 голосов
/ 04 декабря 2018

Вы должны указать обработчику использовать ваш форматер.

LOGGING = {
    'version': 1,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
            'stream': sys.stdout,
            'formatter': 'simple',
        }
    },
    'formatters': {
        'simple': {
            'format': '%(levelname)s %(asctime)s %(name)s.%(funcName)s:%(lineno)s- %(message)s'
        },
    },
    'root': {
        'handlers': ['console'],
        'level': 'INFO'
    }
}

>>> logging.config.dictConfig(LOGGING)
>>> logging.info('test')
INFO 2018-12-04 10:35:29,879 root.<module>:1- test

'formatter': 'simple',

...