使用java -jar xx.jar
启动springboot项目,关闭终端时会导致进程退出,所以使用nohup java -jar xx.jar 2>&1 1>nohup.out &
命令,但是默认生成的nohup.out文件越来越大,就想着如何将nohup.out根据日期分片,上网找了很多帖子,又是用cronlog又是写脚本的,感觉不大靠谱。
后来想到,我的springboot项目使用了logback,log会按照配置输出到文件并且按日期分片,再加上nohup.out这不多余了嘛?!所以应该去掉nohup.out,而不是再对它分片。
所以问题就转换为去掉nohup.out,nohup java -jar xx.jar 2>&1 1>/dev/null &
,将nohup的标准输出、错误输出都输出到/dev/null
里,而想看springboot的日志,去logback配置文件,看一下文件位置fileNamePattern
就可以了。
<!-- 定义局部变量 -->
<property name="LOG_DIR" value="/usr/local/all-project-logs/projectA"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender" additivity="false">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 每天滚动 -->
<fileNamePattern>${LOG_DIR}/projectA-module.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 限制文件最大保存时间为30天 -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%c] {%M} - [%p] %msg%n</pattern>
</encoder>
</appender>
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/1225.html