当我使用无服务器运行 lambda 时未创建日志流

Posted

技术标签:

【中文标题】当我使用无服务器运行 lambda 时未创建日志流【英文标题】:Log Stream Not creating when i run lambda using serverless 【发布时间】:2021-06-22 10:45:34 【问题描述】:

我使用 cloudformation 为我的 lambda 创建了一个日志组,当我运行我的 cloudformation 脚本时,lambda 函数包括 cloudwatch 日志触发器。当我调用 lambda 时,我使用 cloudformation 创建的日志组中没有任何日志流,但似乎 cloudformation 会自动为 lambda 创建一个日志组,无论我是否使用 cloudformation 创建一个日志组并将其包含到函数中.

请问有什么建议吗?

'''

resources:
  Resources:
    AccessLogs:
      Type: AWS::Logs::LogGroup
      Properties:
        LogGroupName: /aws/lambda/$self:service-dev-AccessLogs
        RetentionInDays: 7
    LambdaExecutionRole:
      Type: 'AWS::IAM::Role'
      Properties:
        AssumeRolePolicyDocument:
          Statement:
            - Effect: Allow
              Principal:
                Service:
                  - lambda.amazonaws.com
              Action:
                - 'sts:AssumeRole'
        Policies:
        - PolicyName: logpolicy
          PolicyDocument:
            Statement:
              - Effect: Allow
                Action:
                  - 'logs:CreateLogGroup'
                  - 'logs:CreateLogStream'
                Resource: '*'
              - Effect: Allow
                Action:
                  - 'logs:PutLogEvents'
                Resource: 'arn:aws:logs:*:*:*'

'''

【问题讨论】:

【参考方案1】:

您不能将任意日志组分配给 Lambda 函数。有一个开放的Feature Request。

如果您只是想更改日志保留策略,那么您可以使用this technique 进行更改,但它仍然不允许您控制日志组名称。

【讨论】:

以上是关于当我使用无服务器运行 lambda 时未创建日志流的主要内容,如果未能解决你的问题,请参考以下文章

在 C++/CLI 中使用时未创建 C# 应用程序 log4net 日志文件

使用 Chrome + XHR 时未定义 PHP POST 变量

xampp Mysql 设置为服务时未启动

玩! 1.2.4 - 服务器启动时未收到数据

尝试启动 Atom/Nuclide 时未找到流

cmake 创建解决方案时未链接 64 位可执行文件