![](/img/trans.png)
[英]AWS Elastic Beanstalk Application Logging with Logback
[英]Application logging with AWS Elastic Beanstalk
我已經在 Tomcat 8.5 和 Java 8 的環境中將 WAR 部署到 AWS Elastic Beanstalk。應用程序加載並運行良好。 但是,當我 go 檢查日志(環境 -> 日志 -> 最后 100 行或完整日志)時,我沒有看到應用程序寫入的日志。 還有一些其他日志,例如 tomcat/activity/boot 等,但不是我的應用程序編寫的日志。 日志在本地運行時按預期工作,而不是在 AWS 上。
下面是我的 logback.xml 文件:
<configuration debug="true">
<appender name="APPLOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/my_app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>/var/log/my_app_%d{yyyy-MM-dd}_%i.log</FileNamePattern>
<maxHistory>7</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>5MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} %-5level %c{1} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="LOGFILE" />
</root>
</configuration>
在一篇 Medium 帖子中,我了解到我們需要配置 EB 環境,以便應用程序的日志包含在日志包中。 所以我將以下配置文件放在應用程序的資源目錄中:
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
但這並沒有幫助,應用程序的日志行為沒有變化。 到目前為止,這是一個令人沮喪的考驗,希望能得到一些幫助。
當我將應用程序部署到 AWS 時,我遇到了類似的日志記錄問題。
有幾點需要注意:
(1)配置文件是正確的(這就是我使用的),但是需要將 go 放入您的 webapp 目錄中的.ebextensions
文件夾中:
(2) 您需要更改日志文件的位置。 由於文件夾權限問題,您的應用無法寫入 var/log 文件夾,但可以寫入 var/log/tomcat 文件夾。
您可以在此處找到有關我的問題的更多詳細信息: AWS Elastic Beanstalk Application Logging with Logback
希望它對你有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.