没有使用watch望塔将正确的日志记录(python)格式发送到Cloudwatch

问题描述 投票:0回答:2

我编写了以下代码来启用Cloudwatch支持。

import logging
from boto3.session import Session
from watchtower import CloudWatchLogHandler

logging.basicConfig(level=logging.INFO,format='[%(asctime)s.%(msecs).03d] [%(name)s,%(funcName)s:%(lineno)s] [%(levelname)s]  %(message)s',datefmt='%d/%b/%Y %H:%M:%S')
log = logging.getLogger('Test')

boto3_session = Session(aws_access_key_id=AWS_ACCESS_KEY_ID,
                aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
                region_name=REGION_NAME)

cw_handler = CloudWatchLogHandler(log_group=CLOUDWATCH_LOG_GROUP_NAME,stream_name=CLOUDWATCH_LOG_STREAM_NAME,boto3_session=boto3_session)
log.addHandler(cw_handler)

[每当我尝试打印任何记录器语句时,我在本地系统和cloudwatch上都会得到不同的输出。

示例:

log.info("Hello world")

上述记录器语句在我的本地系统(终端)上的输出:

[24/Feb/2019 15:25:06.969] [Test,<module>:1] [INFO]  Hello world

以上在cloudwatch上的记录器声明的输出(日志流:] >>

Hello world

我有什么想念的吗?

我已经编写了以下代码来启用Cloudwatch支持。从boto3.session导入日志记录从watch望塔导入会话导入CloudWatchLogHandler logging.basicConfig(level = logging.INFO,format = ...

python amazon-web-services logging amazon-cloudwatch amazon-cloudwatchlogs
2个回答
1
投票

在Lambda执行环境中,已经预先配置了根记录器。您将不得不使用它或解决它。您可以执行以下操作:


1
投票

这对我有用

© www.soinside.com 2019 - 2024. All rights reserved.