Преимущество использования logging over print() для регистрации информации на Papertrail в приложении Django Heroku

У меня есть приложение Django, которое я размещаю на Heroku и подключаюсь к Papertrail с помощью дополнения Papertrail Heroku. Есть множество мест, где я напрямую записываю информацию в Papertrail, в настоящее время:

logger = logging.getLogger('papertrail')
logger.info('important text')

Я настроил конфигурацию регистрации по этой ссылке:

import sys

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'stream': sys.stdout,
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            'level': 'ERROR',
        },
        'papertrail': {
            'handlers': ['console'],
            'level': 'INFO',
        },
    },
}

Вместе это записывается в Papertrail примерно так:

Feb 07 06:10:56 app_name app/worker.1: important text

Тем не менее, я заметил, что с помощью print('important text') выполняет то же самое здесь. Есть ли польза для продолжения использования logging над print войти "важный текст" в этой ситуации? Я прочитал эту статью и, похоже, ничего из этого не применимо.

1 ответ

Решение

Я иногда задаю этот вопрос, и я обычно делаю вывод, что print полезен для отладки, но регистрация более мощная для всего остального.

Например, ведение журнала имеет уровни журнала, которые показывают серьезность. А также ведение журнала позволяет записывать в файлы логи и вывод ошибок, и т. Д.

По этим и другим причинам любое производственное приложение должно иметь комплексную систему регистрации.

Прочитайте это, и это должно стать яснее:

https://docs.djangoproject.com/en/1.10/topics/logging/

Если вы не уверены в этом ответе и цитируемой вами статье, я бы порекомендовал провести дополнительное исследование. В противном случае продолжайте использовать print и, может быть, вы в конце концов убедите себя.

Другие вопросы по тегам