сторожевая башня записывает в группу журнала по умолчанию «сторожевая башня» в облачных часах
Я пытаюсь использовать сторожевую башню для отправки журналов в облачные часы, но сталкиваюсь со следующей проблемой. Кажется, что даже когда я передаю конфигурацию ведения журнала следующим образом, где указано отправлять журналы в определенную группу журналов облачных вычислений, он по-прежнему отправляет как в указанную группу журналов, так и в группу журналов «сторожевой башни».
import watchtower,logging
import logging.config
import boto3
import os
import random
logging_config = {
"version": 1,
"disable_existing_loggers": True,
"formatters": {
"json": {
"format": "[%(asctime)s] %(process)d %(levelname)s %(name)s:%(funcName)s:%(lineno)s - %(message)s"
},
"plaintext": {
"format": "[%(asctime)s] %(process)d %(levelname)s %(name)s:%(funcName)s:%(lineno)s - %(message)s"
}
},
"handlers": {
"console": {
"class": "logging.StreamHandler",
"formatter": "plaintext",
"level": "DEBUG",
"stream": "ext://sys.stdout"
},
"watchtower": {
"class": "watchtower.CloudWatchLogHandler",
"formatter": "json",
"level": "DEBUG",
"log_group": "test_custom_log",
"stream_name": "{logger_name}-{strftime:%y-%m-%d}",
"send_interval": 10,
"create_log_group": True
}
},
"root": {
"level": "DEBUG",
"propagate": True,
"handlers": [
"console",
"watchtower"
]
},
"loggers": {
"botocore": {
"level": "INFO"
},
"urllib3": {
"level": "INFO"
}
}
}
if __name__ == '__main__':
logging.config.dictConfig(logging_config)
logger = logging.getLogger(os.path.basename(__file__))
logger.addHandler(watchtower.CloudWatchLogHandler())
boto3_session = boto3.Session(aws_access_key_id='<>',
aws_secret_access_key='<>',
region_name='<>')
id = random.randint(0,100)
logger.info(f"a simple info log messge. id: {id}")
print('done')
Насколько я понимаю, если я указал «test_custom_logs» в log_group, то он должен ТОЛЬКО отправлять журналы ему, а не «сторожевой башне». Что мне здесь не хватает?