我在aws ec2上运行了Spring MVC应用程序。现在我决定转移到aws弹性beanstalk,然后在迁移当前应用程序之前进行探索。我对持久存储和应用程序日志记录的问题很少。
我的问题可能很幼稚,但请耐心等待:)
我正在使用log4j进行应用程序日志记录。 Log4j将日志附加到硬盘驱动器上的指定位置。由于弹性beanstalk没有持久存储(一旦实例终止,存储将被删除),实例可能会根据加载规则增长/缩小。
所以我被困在以下
我一直在阅读描述使用 .ebextensions 目录的文章。我尝试使用AWS提供的基本.conf文件将日志记录到S3,但我的应用程序日志没有成功。
用于在 .ebextensions
下创建应用程序目录位置的示例脚本commands:
01_create_dir:
test: test ! -d "${DIR}"
command: mkdir "${DIR}"
推荐链接:
EBS控制台显示用于URL访问的apache日志。
我想知道AWS是否已提供任何现成的解决方案,但我无法搜索。
答案 0 :(得分:1)
来自http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-platform.html:
来自进程的标准输出和错误流以a开头 Procfile以在进程命名的日志文件中捕获并存储 在/ var / log中。例如,前面示例中的Web进程 为stdout和。生成名为web-1.log和web-1.error.log的日志 stderr,分别。
基于此,您所要做的就是确保log4j / logback输出您想要stdout的日志,即dd/mm/yyyy
。使用Spring Boot,这是默认行为。