在Fargate实例中将日志从springboot应用程序发送到cloudwatch

时间:2019-09-06 16:12:09

标签: spring-boot log4j2 amazon-cloudwatch aws-fargate

我们需要在log4j2.xml中为Cloudwatch配置附加程序。
我们将ECS集群与Fargate实例一起使用。
用例是我们需要根据业务日志类型对来自同一应用程序的不同日志组中的日志进行分类。有多种方法可以使用多个记录器将日志发送到不同的文件,但是我们如何进行云监视。
有一些为此编写的库,但是我们是否有一些AWS cloudwatch日志附加程序可在log4j2.xml中使用。请帮助

1 个答案:

答案 0 :(得分:0)

我们使用默认的Spring Boot日志记录并将输出发送到控制台。这也适用于非Spring Boot。然后使用CloudFormation在TaskDefinitionLogGroup中配置日志。您可以使用TaskDefinition在控制台中执行类似操作,并分别创建CloudWatch日志。

Resources:
  .
  :
  TaskDefinition:
    .
    :
    Properties:
      .
      :
      ContainerDefinitions:
       - Name:
         Image:
         .
         :
         LogConfiguration:
           LogDriver: awslogs
           Options:
             awslogs-region: !Ref 'AWS::Region'
             awslogs-group: !Ref LogGroup
             awslogs-stream-prefix: ecs

  LogGroup:
    Type: 'AWS::Logs::LogGroup'
    Properties:
      LogGroupName: !Sub ${ServiceName}
  AccessLogGroup:
    Type: AWS::Logs::LogGroup
    Properties:
      LogGroupName: !Sub ${ServiceName}-api-access-logs
      RetentionInDays: 7