Группа журналов AWS CloudWatch не создана в процессе ведения журнала Django

У меня есть приложение Django, в котором я пытаюсь вести логи на AWS CloudWatch. Я добавил следующий код в свой файл settings.py:

CLOUDWATCH_LOGS_BOTO3_CLIENT = boto3.client('logs',
  aws_access_key_id=AWS_ACCESS_KEY_ID,
  aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
  region_name=AWS_REGION_NAME
)
AWS_LOG_GROUP = 'MyLogGroup'
AWS_LOG_STREAM = 'Mystream'
AWS_LOGGER_NAME = 'watchtower-logger'

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'aws': {
            'format': u"%(asctime)s [%(levelname)-8s] %(message)s [%(pathname)s:%(lineno)d]",
            'datefmt': "%Y-%m-%d %H:%M:%S"
        },
    },
    'handlers': {
        'watchtower': {
            'level': 'DEBUG',
            'class': 'watchtower.CloudWatchLogHandler',
                     'boto3_client': CLOUDWATCH_LOGS_BOTO3_CLIENT,
                     'log_group': AWS_LOG_GROUP,
                     'stream_name': AWS_LOG_STREAM,
            'formatter': 'aws',
        },
    },
    'loggers': {
        AWS_LOGGER_NAME: {
            'level': 'DEBUG',
            'handlers': ['watchtower'],
            'propagate': False,
        },
    },
}

Для протоколирования я использую следующий код в моих представлениях:

import logging
from django.conf import settings
logger = logging.getLogger(settings.AWS_LOGGER_NAME)
logger.error("this is error message")

Пользователь, чей доступ/секретный ключ я использую, имеет полный доступ к журналам cloudwatch, но группа журнала и поток журнала не созданы в cloudwatch. И ошибка также не возникает. Насколько я понимаю, приведенный выше код создаст группу журналов и поток журналов в cloud watch, если они еще не созданы.

Вернуться на верх