сторожевая башня записывает в группу журнала по умолчанию «сторожевая башня» в облачных часах

Я пытаюсь использовать сторожевую башню для отправки журналов в облачные часы, но сталкиваюсь со следующей проблемой. Кажется, что даже когда я передаю конфигурацию ведения журнала следующим образом, где указано отправлять журналы в определенную группу журналов облачных вычислений, он по-прежнему отправляет как в указанную группу журналов, так и в группу журналов «сторожевой башни».

      
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, то он должен ТОЛЬКО отправлять журналы ему, а не «сторожевой башне». Что мне здесь не хватает?

0 ответов

Другие вопросы по тегам