微服务项目接入Log4j2

后台程序开发及上线时,一般都会用到Log信息打印及Log日志记录,开发时通过Log信息打印可以快速的定位问题所在,帮助我们快捷开发。程序上线后如遇到Bug或错误,此时则需要日志记录来查找发现问题所在。springboot构建微服务工程可以使用很多不同的日志系统,如logback,log4j,log4j2等,其中最常用的Apache Log4j,而Log4j 2是Log4j的升级版本,Log4j 2相对于Log4j 1.x 有了很多显著的改善。本章内容就着重介绍微服务工程中log4j2的使用。

一.接入步骤:

1.pom引入Log4j2 Starter   disruptor依赖


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


    org.springframework.boot
    spring-boot-starter-log4j2
    2.1.1.RELEASE


    com.lmax
    disruptor
    3.4.2

2.添加log4j2.xml配置文件

      




    
        demo
        logs
        30 MB
    

    
        
        
            
            
            
            
        

        
        
            
            
                
                
            
            
                
                
                
            
            
            
        

        
        
            
            
                
                
            
            
                
                
            
            
            
        
    

    
        
        
        
        
            
            
            
        

        

    

3.添加log4j2.compomemt.properties文件,文件内容配置如下:

AsyncLogger.RingBufferSize = 10000
AsyncLoggerConfig.RingBufferSize = 10000
log4j2.AsyncQueueFullPolicy = Discard
log4j2.DiscardThreshold = DEBUG

二.log4j2的优点

1.异步模式性能优秀

2.插件化架构易扩展

3.Garbage free/Low garbage/自动降级

三.logback与log4j2的对比:

微服务项目接入Log4j2_第1张图片

       logback的业务线程会抢占文件句柄进行日志输出,而log4j2的业务线程会将日志输出到一个无锁化的环形队列中,由Log4j2线程异步读取日志数据然后输出到日志文件中,所以log4j2比logback的性能更加优秀。

你可能感兴趣的:(日志记录,log4j2,日志输出)