【发布时间】:2021-03-09 01:57:51
【问题描述】:
编辑:添加图像(问题看起来像日志文件未写入)
我正在 AWS Elastic Beanstalk 上运行 spring mvc(不是 springboot)WAR 文件,该文件位于“Tomcat 8.5 和 Corretto 11 在 64 位 Amazon Linux 2/4.1.3”环境中运行。
除了我使用 slf4j/logback 编写的应用程序日志之外,一切都按预期工作。
以下是我的logback.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE xml>
<configuration debug="true">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<appender name="APPLOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/java.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/var/log/java_%d{yyyy-MM-dd}_%i.log</FileNamePattern>
<!-- keep 14 days' worth of history -->
<maxHistory>14</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the File size reaches 10MB -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} [%thread][%X{remoteHost}] %-5level %c{1} - %msg%n</pattern>
<!-- <pattern>%d %-5p %c{1} - %m%n</pattern> -->
</encoder>
</appender>
<logger name="com.personal.service.layer.mongodb" level="INFO"
additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="APPLOG" />
</logger>
<logger name="org.springframework" level="INFO"
additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="APPLOG" />
</logger>
<logger name="spring.web" level="INFO" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="APPLOG" />
</logger>
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="APPLOG" />
</root>
</configuration>
搜索 google/stackoverflow 后,我添加了一个带有配置文件的 ebextensions 文件夹,以将我的日志与尾部日志和捆绑包一起包含如下:
files:
"/opt/elasticbeanstalk/tasks/bundlelogs.d/applogs.conf" :
mode: "000755"
owner: root
group: root
content: |
/var/log/*.log
"/opt/elasticbeanstalk/tasks/taillogs.d/applogs.conf" :
mode: "000755"
owner: root
group: root
content: |
/var/log/*.log
经过网上的一些研究,我尝试了一些其他的组合。例如,我尝试将 logback.xml 中的日志文件设置为 /var/app/current/logs/applog.log,并在 conf 文件中使用 /var/log/current/logs/*.log,而不是上面显示的内容,但它们也不起作用。所以我觉得我错过了一些关于使用 Logback 登录到 AWS 的内容。
我也愿意接受有关使用其他东西(log4j、java 日志等)进行日志记录的(工作)建议。
编辑:终于弄清楚了 aws/eb 的混乱,并且能够通过 ssh 连接到环境。我没有看到在 var/log 文件夹(或任何其他相关文件夹)下创建了 java.log。
为什么 logback 不会写入日志?那个日志路径/var/log/java.log 不可用吗?
【问题讨论】:
-
日志文件是否保存在您认为的位置?您可以通过 ssh 进入 EB 实例并检查日志吗?
-
我正在尝试但做不到。刚刚在我的 Windows 计算机上安装了 aws 和 eb,但还没有弄清楚如何通过 ssh 连接到现有环境。当我执行 eb init (docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-init.html) 时,它没有列出我现有的应用程序。我已经添加了 API 密钥,但仍然无法正常工作。现在会继续挖掘。
-
eb ssh通常就足够了,假设您在创建环境时启用了 ssh。 -
更新了更多细节的问题。看起来问题在于日志写入而不是检索,知道吗?
标签: java amazon-web-services tomcat amazon-elastic-beanstalk logback