java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot nohup启动运行日志过大

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 &

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文