目的:实现SpringBoot+log4j2的日志分片 *** 作。
问题:大多数项目启动方式是:
nohup java -Xms512m -Xmx512m -Dspring.profiles.active=test -jar xxx.jar --SERVER_NAME=$NAME >> log.log &
缺点是只能通过tail -f 命令实时查看,而无法打开超过100M的日志文件,或者说打开的非常慢,这时候就需要将日志按照大小或者时间段进行分割存储。
原来的nohub日志可以去除了:
nohup java -jar xxx.jar >/dev/null 2>&1 &
命令说明:
2>&1 错误输出将会和标准输出输出到同一个地方
>/dev/null 标准输出输出到黑洞里面,即:让输出内容消失。
第一步,引入依赖...... 1.8 2.15.0
【注意:spring-boot-starter-log4j2和spring-boot-starter-web里面的log可能会冲突,所以必须去掉spring-boot-starter-web里面的log】
第二步,编写xml配置org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-loggingorg.springframework.boot spring-boot-starter-log4j2
第三部,编写代码测试D:log
随便写个接口,多次请求即可
说明:
log.info()写入info.log
log.error()写入error.log
log.warn()写入warning.log
其他所有详细的日志都会按照配置写入test.log
测试结果先将SizebasedTriggeringPolicy 的size设置为10KB:
测试info级别的日志设置为10kb的分片测试结果:从图中可以看出info.log文件超过的10k被封存到了按月分片的文件夹中,按照格式命名为:info-2022-01-29-1.log
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)