SpringBoot项目nohup启动运行日志过大的解决方案
作者:热爱技术的小陈
这篇文章主要介绍了SpringBoot项目nohup启动运行日志过大的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
SpringBoot项目nohup启动运行日志过大
如下SpringBoot启动命令
nohup java -Xmx2048m -Xms2048m -jar springboot-demo.jar >>./log.los 2>&1 &
使用这条命令启动会导致日志文件和jar包同级,并且随着日积月累,越来越大。最终撑爆目录。
临时解决办法
如果日志已经撑爆了你的盘符,可以使用echo > access.log在日志文件写入一个空,如果直接rm -rf log.log会导致日志不正常打印(不会影响到logback等框架的日志打印)。
解决办法
1、使用日志框架,例如logback.xml,配置打印最近三个月或六个月的日志,超过时间的会自动删除。
2、将日志指定一个黑洞目录,使得本地不打印此日志:
nohup java -Xmx2048m -Xms2048m -jar springboot-demo.jar >>/dev/null 2>&1 &
这样不会影响logback日志的正常打印。
SpringBoot项目nohup运行按日期拆分日志
springboot打包成jar后,通常放于linux使用nohup来执行,如:↓
nohup java -jar PACKAGE_NAME.jar > LOGFILE_NAME 2>&1 &
但是弊端是产生的日志文件只有一个,且会越来越大
这里介绍一个linux工具:cronolog(文件分割工具)
下载地址:https://pkgs.org/download/cronolog
如何使用
使用yum安装cronolog
yum install cronolog -y
修改jar包启动命令
nohup java -jar PACKAGE_NAME.jar | cronolog ./catalina-%Y-%m-%d.out >> /dev/null 2>&1 &
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。