作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 Cloudformation Hook。我可以成功部署它并且执行我的自定义处理程序。但是,我看不到任何 CloudWatch 日志组,因此无法调试 Hook 逻辑。
aws configure
cfn generate
cfn submit --set-default
HOOK_TYPE_ARN="arn:aws:cloudformation:eu-central-1:563262xxxxx:type/hook/My-Dummy-Hook"
aws cloudformation set-type-configuration \
--configuration file://type_config.json \
--type-arn $HOOK_TYPE_ARN \
--region eu-central-1
当我选择我的 Hook 时,转到编辑 -> 编辑日志配置,我可以看到以下 json:
{
"logGroupName": "my-dummy-hook-logs",
"logRoleArn": "arn:aws:iam::563262xxxxx:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-KYUY5H9D4XQN"
}
此角色确实存在,它具有创建日志组等所需的所有策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams",
"logs:PutLogEvents",
"cloudwatch:ListMetrics",
"cloudwatch:PutMetricData"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
但我在 Cloudwatch 中仍然看不到任何日志,也没有创建日志组。一个有趣的观察是,我无法通过 AWS 控制台更改此 json,它总是抛出错误(尽管我指定了有效的角色或日志组):
Please use arn or specify a type
JSON
奇怪...
最佳答案
我的问题是我忘记在处理程序代码中指定日志级别:
import logging
# Use this logger to forward log messages to CloudWatch Logs.
LOG = logging.getLogger(__name__)
LOG.setLevel(logging.INFO) # <- this line was missing
换句话说,如果没有明确设置,将使用默认的记录器级别,即WARNING
。这意味着,如果您在 Cloudwatch Logs 中调用 LOG.debug("test")
或 LOG.info("test")
,您将不会在 Cloudwatch Logs 中看到任何日志流。处理程序代码。
关于amazon-web-services - CloudFormation Hooks 不会将日志推送到 Cloudwatch Logs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72526742/
我是一名优秀的程序员,十分优秀!