log4j2日志输出分组分片

log4j2日志输出分组分片,第1张

log4j2日志输出分组分片 介绍

目的:实现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】

  
  
      org.springframework.boot
      spring-boot-starter-web
      
      
          
              org.springframework.boot
              spring-boot-starter-logging
          
      
  

  
  
      org.springframework.boot
      spring-boot-starter-log4j2
  
第二步,编写xml配置






    
    
    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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5718184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存