我有一个通过 Elastic Beanstalk 部署的 CodeStar Spring Boot Java Web 应用程序。我想在我的应用程序中使用日志记录,并且希望将日志自动推送到 AWS CloudWatch。我阅读了一篇关于发送自定义日志的 AWS 文档文章。他们在文章中说,如果我使用org.slf4j.Logger;
这就是我所做的,但我的任何日志都没有出现在 CloudWatch 中。这是我的代码片段:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class BusinessLogic {
private static final Logger logger = LoggerFactory.getLogger(MyProjectApplication.class);
public void doSomething() {
...
logger.info("Info message");
...
}
上面的示例遵循文档如何指定用法。
我检查了 IAM 权限。运行代码的 EC2 实例使用特定的 IAM 角色,因此我CloudWatchFullAccess
向它添加了策略。它没有解决问题。
我阅读了一些其他文章,其中提到我必须通过 SSH 连接到实例并安装 CloudWatch 代理。我不认为这是可扩展的方法,尤其是当我使用 Elastic Beanstalk 并且为我管理实例时。
有人知道如何将自定义日志发送到 AWS CloudWatch?