Группа журналов 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, если они еще не созданы.