Aws lambda 将Lambda日志写入CloudWatch时出现问题,可能是什么问题?
我在尝试将Lambda函数日志写入CloudWatch日志时遇到了一些问题。这似乎不是授权问题,如下所示:Aws lambda 将Lambda日志写入CloudWatch时出现问题,可能是什么问题?,aws-lambda,amazon-cloudformation,amazon-cloudwatchlogs,aws-sam,Aws Lambda,Amazon Cloudformation,Amazon Cloudwatchlogs,Aws Sam,我在尝试将Lambda函数日志写入CloudWatch日志时遇到了一些问题。这似乎不是授权问题,如下所示: PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - logs:CreateLogGroup Resource: !Sub arn:aws:logs:${AWS::Region}:${
PolicyDocument:
Version: 2012-10-17
Statement:
-
Effect: Allow
Action:
- logs:CreateLogGroup
Resource: !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:*
- Effect: Allow
Action:
- logs:CreateLogStream
- logs:PutLogEvent
Resource: !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/lambda/${FunctionName}:*
我还尝试了一个更广泛的策略,将arn:aws:logs::::::::::
作为参考资料,就像我找到的一些示例一样
当我执行lambda函数作为test时,模板在CloudFormation上可以正常工作,并且资源是根据需要创建的,一切都可以正常工作,但是日志没有写入。它创建日志组和日志流,但日志流中没有任何内容
Lambda函数也没有问题。在创建模板之前,我手动部署了该功能,在这种情况下,CloudWatch日志可以正常工作。我完全按照创建模板的手动方法复制了角色和策略
这是CloudFormation/SAM/Lambda中的某种已知错误吗?还是我做错了我没有注意到的事
如果您需要更多信息来理解上下文,请告诉我。谢谢 最后,我解决了这个问题,但从我编写的策略中删除了CloudWatch日志权限,并使用AWS的管理策略:
ManagedPolicyArns:
-“arn:aws:iam::aws:policy/service role/AWSLambdabasiceExecutionRole”
这样,日志就可以正常写入日志组 这很奇怪,你是怎么写日志的?你有我可以看一看的github回购协议吗?如果你愿意,我可以分享我的github用户名。谢谢你的回答@MrkFldig。我确实有,这是最新的。请随意提问,因为它还没有很好的文档记录。它是用Java编写的,我使用log4j appender来记录日志。所以在这里拍摄是因为我遇到了同样的问题,Bunyan,log4j的日志级别是多少?如果Log4j的默认值是一个高于该值的日志级别,那么您看起来主要是在使用INFO,而不会看到它们?检查:-尝试system.out方法或证明我说的是什么将info语句更改为error。可以在项目的log4j2.xml中看到,日志级别是info。我使用了您链接到的示例来创建我的log4j2 appender,它完全相同,我没有更改任何内容。我在问题中说过,当我手动部署CloudWatch日志时,它工作得非常好,只有当我通过CloudFormation部署它时,这个问题才会发生。您是否将Lambda作为同一个CloudFormation模板的一部分进行部署?如果是这样的话,您是否附加了一个允许它向CloudWatch写入的角色?