Интеграция Watchtower CloudWatch в журналы Django: Потоки журналов не созданы
У меня есть проект Django с Sentry для отслеживания ошибок, и журналы хранятся локально на сервере. Я хочу пересылать эти журналы в журналы CloudWatch. Я использую Watchtower для этой интеграции.
Вот мой файл settings.py:
Когда я запускаю следующий код в оболочке Django, он не работает и выбрасывает следующее предупреждение:
import logging
logger = logging.getLogger("server_backend")
logger.info("This message should be logged without issues.")
# Output:
# .../env/lib/python3.10/site-packages/watchtower/__init__.py:437: WatchtowerWarning: Received message after logging system shutdown
# warnings.warn("Received message after logging system shutdown", WatchtowerWarning)
# INFO:server_backend:This message should be logged without issues.
При этом создается группа журналов, но потоки журналов отсутствуют. Я проверил все разрешения (полный доступ к CloudWatch) и учетные данные (они работают для других служб, таких как S3).
Однако, когда я добавляю следующий код в настройки:
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("server_backend")
logger.addHandler(watchtower.CloudWatchLogHandler(log_group="server_backend", stream_name="server_backend", create_log_group=True, create_log_stream=True, boto3_client=logger_boto3_client))
logger.info("Hi")
logger.info(dict(foo="bar", details={}))
Я нахожу 'Hi' и dict в моем потоке, но никаких других логов, и он просто продолжает выдавать то же предупреждение, что и раньше, на любую ошибку, которую я хочу поднять.
Что может быть причиной проблемы с настройкой ведения журнала в моем файле settings.py? Как обеспечить передачу журналов в CloudWatch без этих предупреждений?