我有一个 Spring Boot 应用程序作为 init.d 服务在 docker 容器上运行。我按照 Spring Boot Unix/Linux Services 指南进行了设置。
由于应用程序是作为守护程序服务启动的,操作系统会在/var/log/目录下创建日志文件并将应用程序日志记录在那里。问题在于,由于应用程序有大量日志记录,文件的大小会迅速增加。此外,我配置了一个 logback 来管理应用程序日志,因此,我不需要默认的系统日志记录。
我尝试了 customizing the startup script,但我只能更改默认值(LOG_FILENAME 和 LOG_FOLDER),而不是删除它们。
所以我的问题是:有没有办法可以禁用特定 init.d 服务的系统日志?如果是,如何?
答案 0 :(得分:0)
一种解决方案是创建与应用程序.jar 文件同名的.conf 文件并将它们放在同一目录中。例如:
/home/
application.jar
application.conf
现在你在 .jar 旁边有 .conf 文件,打开它并写入
LOG_FOLDER=/dev
LOG_FILENAME=null
如 here 所述,/dev/null 将丢弃写入的所有内容,但会返回成功。
这种方法的缺点是更改 .jar 文件名或目录将需要分别更改 .conf 文件。