Django конфигурация логирования работает на локальном сервере, но не на удаленном сервере - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь настроить django вход в файл настроек django так, чтобы он записывал django информацию и информацию для моего приложения в специальный файл для удобного просмотра. Вот моя конфигурация регистрации:

    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'console': {
            # exact format is not important, this is the minimum information
            'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
        },
        'file': {
            # exact format is not important, this is the minimum information
            'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
        },
    },
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'formatter': 'file',
            'filename': 'logs/django_log.log',
            'backupCount': 10, # keep at most 10 log files
            'maxBytes': 5242880, # 5c1024 bytes (5MB)
        },
        'console': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'formatter': 'console',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['file', 'console'],
            'level': 'INFO',
            'propagate': True,
        },
        'py.warnings': {
            'handlers': ['console'],
        },
        'my_application': {
            'level': 'INFO',
            'handlers': ['file', 'console'],
            # required to avoid double logging with root logger
            'propagate': False,
        },
    },
}

Это работает на моем локальном тестовом сервере manage.py, и с появлением django событий, и с событиями, которые я регистрирую, инициализированными с my_application в качестве имени регистратора. Однако на моем веб-сервере файл журнала создается и, как ни странно, заполняется только случайными django WARNING сообщениями. Таким образом, нет ошибки разрешения или невозможности доступа к файлу журнала. Так как тот же самый конфиг работает на моем локальном компьютере, конфиг не может быть проблемой, и он явно имеет только журналы уровня INFO.

Настройка моего сервера взята из этого руководства: https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-18-04 и использует Gunicorn с Nginx в качестве обратного прокси. Может ли быть проблема с конфигами для них? Я в тупике.

Кроме того, где лучше всего хранить этот файл журнала django?

Кроме того, еще один связанный с этим бонусный вопрос: что является хорошим бесплатным / дешевым сервисом с наилучшей практикой, который может уведомить вас, если в журнале указана ошибка *1024*? Кажется хорошей идеей настроить что-то подобное, но я не думаю, что django emailer обязательно самый элегантный или лучший.

...