spring-boot - 将日志从springboot应用程序发送到fargate实例中的cloudwatch
问题描述
我们需要在 log4j2.xml 中为 cloudwatch 配置 appender。
我们正在使用 ECS 集群和 Fargate 实例。
用例是我们需要根据业务日志类型将来自同一应用程序的不同日志组中的日志分类。有办法使用多个记录器将日志发送到不同的文件,但我们如何为云手表做同样的事情。
有一些为此编写的库,但我们是否有一些 AWS cloudwatch 日志附加器,可以在 log4j2.xml 中使用。请帮忙
解决方案
我们默认使用 Spring Boot 日志记录并将输出发送到控制台。这也适用于非 Spring Boot。然后使用 CloudFormation 在TaskDefinition
和LogGroup
s 中配置日志。您可以在控制台中执行类似操作,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
推荐阅读
- java - 更新对象 - SOAP API /Selenium Java
- macos - 由于 Kerberos 错误,连接失败(SQL Server 连接)
- javascript - 更新 JSON 对象数组的属性值 (React JS)
- database - 如何在flutter中存储每个用户的数据?
- html - QXmlQuery 无法使用 setQuery(QString) 将 xml 转换为 html
- git - gitk 不再显示差异。(本地更改已签入索引但未提交)
- javascript - for in 不减,但 for 减
- python - 将列表传递给Python中的查询
- python - 使用通配符查找多值子矩阵
- visual-studio - 使用 vs2019 编译内核驱动程序 USB 模板并针对 windows 7 时出错