Django: настройка эффективной системы регистрации для веб-сайта в производстве

Итак, фаза разработки закончилась, и теперь мой сайт работает на Prod. Однако я не настроил ведение журнала. Мой сайт находится в / var / www / html dir. В идеале я хотел бы, чтобы Django входил в /var/log/django, но для этого потребовались бы разрешения.

  1. Является ли стандартной практикой хранение журналов Django в /var/log/?
  2. Какой тип разрешений мне нужен для хранения журналов в / var / log.
  3. Я просто хочу журналы за последние 2 дня и сегодня, если я могу, остальные могут быть автоматически удалены.

Установка: RHEL7, Apache2.4, python3.5, Django 1.10, mod_wsgi, mySQL

1 ответ

Решение
  1. Нет, это не стандартно. Добавьте следующие выражения в settings.py и измените путь к файлу журнала в соответствии с вашими потребностями:

    LOGGING = {
        'version': 1,
        'disable_existing_loggers': False,
        'handlers': {
            'file': {
                'level': 'DEBUG',
                'class': 'logging.FileHandler',
                'filename': '/path/to/django/debug.log',
            },
        },
        'loggers': {
            'django': {
                'handlers': ['file'],
                'level': 'DEBUG',
                'propagate': True,
            },
        },
    }
    
  2. См. Это для настройки подходящих разрешений для файлов журнала: Отказано в доступе при записи файла журнала

  3. Вы должны будете использовать logrotate, иначе используйте сервер kafka для ведения журналов.

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