[英]Spring Boot on AWS Elastic Beanstalk and logging to a file
在開發過程中,我一直在尋找一種簡單的方法來查看 Beanstalk 上的調試語句。 我以為我可以簡單地登錄到 Beanstalk 上的文件。
在我的 application.properties 文件中我設置
logging.file.path=/var/log
即使在我的本地機器上也沒有產生任何結果。 我不確定這是權限問題還是什么,但我在本地設置了主目錄的路徑,然后我看到文件 spring.log 出現了。
對於 Beanstalk,我嘗試了 /var/log、var/log/tomcat、/home/webapp/、./、~ 和其他各種值。 沒有任何效果。
我什至嘗試了這里的建議但沒有運氣: https://medium.com/vividcode/logging-practice-for-elastic-beanstalk-java-apps-308ed7c4d63f
如果記錄到文件不是一個好主意,還有什么替代方法? 我在谷歌上搜索了很多關於這個問題的答案,所有答案都不是很清楚。
是的,這是權限問題。 您的應用程序在webapp
用戶下運行,而/var/log
由 root 擁有。 因此你不能寫信給它。
添加日志文件以被 EB 識別的正確方法是通過配置文件。
具體來說,假設 Amazon Linux 2,您可以使用以下內容創建.ebextensions/mylogfiles.config
:
files:
"/opt/elasticbeanstalk/config/private/logtasks/bundle/myapplogs.conf":
mode: "000644"
owner: root
group: root
content: |
/var/app/current/log/*.log
顯然,/var/app/ /var/app/current/log/*.log
log/*.log 將指向您的應用程序存儲其日志文件的位置。 /var/app/current
是您的應用程序的主文件夾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.