使用slf4j + log4j2作为项目日志系统

slf4j就相当于在原来日志组件的基础上,在上层再进行封装,这样就可以统一使用slf4j提供的接口输出日志信息,需要更换日志组件时,只需更换底层的jar包就行了,项目代码不需要更改;
因为不同项目的开发者使用的日志包可能不一样,为了工作上的统一,使用slf4j统一把输出日志的操作封装起来,这样更换日志包就只需要更换底层的java包就行了,代码一点都不需要变,非常方便.

我的项目是使用maven构建的,所以引入slf4j就非常方便了:

1.首先引入slf4j的核心包




    org.slf4j
    slf4j-api
    1.7.25


2.然后引入slf4j对应log4j2的中间件


    org.apache.logging.log4j
    log4j-slf4j-impl
    2.10.0


3.其次就需要引入log4j2包


    org.apache.logging.log4j
    log4j-core
    2.10.0

4.最后只需要在项目的resources目录下新建一个log4j2.xml作为log4j2的配置文件即可在项目中使用slf4j输出日志

log4j2.xml文件模板:



    
        
        
            
            
        

        
        
            
            
            
                
            
        

        
        
                     
            
            
            
                
            
        
    

    
        
        
            
            
            
        
    

代码中有几点要注意:
1.fileName: 输出的日志文件的文件名

2.fileParten: 新建的日志文件的命名格式

3.ThresholdFilter: 只有输出级别大于给定的级别的日志信息才会输出到文件中

4.PartenLayout: 日志信息的格式

5.声明了appender后,还必须将该appender添加高loggers的root节点中才会生效

以上工作都完成后,在代码只要调用LoggerFactory.getLogger(String)就能创建logger实例,就能在代码使用logger.info/logger.warn/logger.error等方法输出日志信息了.

你可能感兴趣的:(使用slf4j + log4j2作为项目日志系统)