Как настроить ведение журнала в приложении Elastic Beanstalk для Django? - PullRequest
0 голосов
/ 06 ноября 2019

Я не могу заставить работать журналы в моем приложении Django, работающем на Elastic Beanstalk.

Settings.py:

LOGGING = {
    "version": 1,
    "disable_existing_loggers": False,
    "formatters": {
        "verbose": {"format": "%(asctime)s %(levelname)s %(module)s: %(message)s"}
    },
    "handlers": {
        "django": {
            "level": "INFO",
            "class": "logging.FileHandler",
            "filename": "/opt/python/log/django.log",
            "formatter": "verbose",
        }
    },
    "loggers": {
        "django": {"handlers": ["django"], "level": "INFO", "propagate": True}
    },
}

Если я изменю уровень журнала на DEBUG, будетможет быть много действий в журналах, но все равно он не будет содержать вызовов logger.info () или logger.debug ().

.ebextensions / logging.config:

commands:
  01_create_file:
    command: touch /opt/python/log/django.log
  02_change_permissions:
    command: chmod g+s /opt/python/log/django.log
  03_change_owner:
    command: chown wsgi:wsgi /opt/python/log/django.log

Как использовать ведение журнала:

import logging
logger = logging.getLogger("django")
logger.info("Testing")

Когда я запускаю приложение локально, журналы успешно отправляются на консоль с использованием следующей настройки:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
    },
    'loggers': {
    'django': {
            'handlers': ['console'],
            'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
        },
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...