SpringBoot项目nohup启动运行日志过大的解决方案

 更新时间:2024年05月29日 09:08:44   作者:热爱技术的小陈  
这篇文章主要介绍了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 &

总结

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

相关文章

  • Java/Spring项目的包开头为什么是com详解

    Java/Spring项目的包开头为什么是com详解

    这篇文章主要介绍了Java/Spring项目的包开头为什么是com的相关资料,在Java中包命名遵循域名反转规则,即使用公司的域名反转作为包的前缀,以确保其全球唯一性和避免命名冲突,这种规则有助于逻辑分层、代码可读性提升和标识代码来源,需要的朋友可以参考下
    2024-10-10
  • java中JDBC增删改查操作详解

    java中JDBC增删改查操作详解

    大家好,本篇文章主要讲的是java中JDBC增删改查操作详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Java实现在正则表达式中控制大小写的方法

    Java实现在正则表达式中控制大小写的方法

    这篇文章主要介绍了Java实现在正则表达式中控制大小写的方法,结合实例形式分析了java正则表达式中传递控制参数的功能与相关操作技巧,需要的朋友可以参考下
    2017-04-04
  • SpringBoot异步使用@Async的原理以及线程池配置详解

    SpringBoot异步使用@Async的原理以及线程池配置详解

    在项目中当访问其他人的接口较慢时,不想程序一直卡在耗时任务上,想程序能够并行执行,我们可以使用多线程来并行的处理任务,也可以使用spring提供的异步处理方式@Async,这篇文章主要给大家介绍了关于SpringBoot异步使用@Async的原理以及线程池配置的相关资料
    2021-09-09
  • 解决idea 通过build project 手动触发热部署失败的问题

    解决idea 通过build project 手动触发热部署失败的问题

    在debug运行项目的过程中,并且保证(不添加方法,不修改方法名)一定的规则的情况下,可以通过build project 来手动热部署项目,本文给大家介绍解决idea 通过build project 手动触发热部署失败的问题,感兴趣的朋友一起看看吧
    2023-12-12
  • hibernate 常用方法介绍

    hibernate 常用方法介绍

    这篇文章介绍了hibernate的常用方法,有需要的朋友可以参考一下
    2013-09-09
  • springboot集成测试里的redis

    springboot集成测试里的redis

    这篇文章主要介绍了springboot集成测试里的redis,本文给大家分享了源码,添加依赖添加mock的方法,需要的朋友可以参考下
    2018-11-11
  • Java设计模式之模板方法模式Template Method Pattern详解

    Java设计模式之模板方法模式Template Method Pattern详解

    在我们实际开发中,如果一个方法极其复杂时,如果我们将所有的逻辑写在一个方法中,那维护起来就很困难,要替换某些步骤时都要重新写,这样代码的扩展性就很差,当遇到这种情况就要考虑今天的主角——模板方法模式
    2022-11-11
  • Java集合之整体结构

    Java集合之整体结构

    Java中集合类是Java编程中使用最频繁、最方便的类。接下来通过本文给大家介绍Java集合之整体结构,一起看看吧
    2016-05-05
  • Java中AIO、BIO、NIO应用场景及区别

    Java中AIO、BIO、NIO应用场景及区别

    本文主要介绍了Java中AIO、BIO、NIO应用场景及区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论