【发布时间】:2020-06-15 14:40:18
【问题描述】:
我正在尝试将应用程序级日志存储在来自 Java Web 应用程序的 AWS Cloudwatch 日志中。
我的示例 Java Web 应用程序已经具有 Log4J 实现。因此,无需编写 AWS SDK 代码,我只想将日志推送到 Cloudwatch。我刚刚遇到了 Log4J cloudwatch appender。
关注此链接但不确定如何配置 AWS 身份验证(访问/密钥、区域) https://dzone.com/articles/announcing-log4j-aws-appenders
log4j.properties
log4j.rootLogger=WARN, console
log4j.logger.org.apache.http=ERROR
log4j.logger.com.amazonaws=ERROR
log4j.logger.com.mkyong=ERROR
log4j.additivity.com.mkyong=true
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n
log4j.appender.cloudwatch=com.kdgregory.log4j.aws.CloudWatchAppender
log4j.appender.cloudwatch.layout=org.apache.log4j.PatternLayout
log4j.appender.cloudwatch.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n
log4j.appender.cloudwatch.logGroup=ExampleCloudwatchLog
log4j.appender.cloudwatch.logStream={startupTimestamp}-{sequence}
log4j.appender.cloudwatch.batchDelay=2500
log4j.appender.cloudwatch.rotationMode=daily
似乎没有从我使用 aws configure 配置的本地计算机读取凭据。
注意:应用程序也可以部署在 AWS 或非 AWS 环境中。所以也不确定是否要设置 AWS IAM 角色。
谁能帮我传递 AWS 的凭据?
【问题讨论】:
-
这个库使用default credentials provider chain,它支持实例角色、
aws configure、环境变量和其他几种机制。库文档中有一个troubleshooting guide。 -
另外,请注意它不支持 AWS v2 Java SDK。这在project README 中被提及。
标签: java amazon-web-services log4j apache-commons-logging