log4j2之环境搭建及基础配置

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

log4j2之环境搭建及基础配置_第1张图片

本文是使用 Maven + springMVC + slf4j + log4j2(v2.7) 示例,并不是纯粹的 log4j2 ,如果执行不使用 slf4j,只需要在调用的地方,修改 loggerFactory 即可。

一般情况下,不做特殊配置,是会打印出很多spring的日志信息,所以文章后续在讲解配置文件时,会提到如何为指定的类做特定配置。

一、Maven pom.xml 添加依赖


    org.apache.logging.log4j
    log4j-core
    2.7


    org.apache.logging.log4j
    log4j-api
    2.7


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

注:若未使用 slf4j,则不需要引入 log4j-slf4j-impl。

二、添加 Log4j2.xml

添加位置: ${project}/src/main/resources 根目录






    
    
        logs
    

    
    
        
        
            
            
        
        
            
            
        
        
            
            
        
        
        
          
            
            
            
                
            
        
        
        
          
            
            
            
                
            
        
        
    

    
        
        
        
            
            
            
        
        
         
        
            
            
        
        
            
            
        
        
    


三、Log4j2.xml 特殊配置简要分析

上面的配置中已经存有很多注释,所以简单的就不在此做解释,下面是针对一些特殊配置做一些简要的分析和描述

1、Appenders - Console、RollingFile 配置

本人是分不同级别配置 Console ,主要是为了在后面针对不同的类、代码包做配置,指定输出级别,避免“不必要”的日志输出。

2、Loggers - logger - name 属性


    
    


    
    

大家可以看到,我这里分别配置了2个

  • org.springframework:INFO 级别的打印日志,ERROR 级别的文件日志

  • net.sf:ERROR 级别的打印日志,ERROR 级别的文件日志

此处我配置的都是 package,那是否可以直接指定到类呢?答案是可以的,比如说 org.springframework.beans.factory.BeanFactory

四、log4j2 plugins 插件开发

1. 什么是 log4j2 插件?

我们现在使用的 log4j2 API,都是它自带的,比如说打印的格式 %d{yyyy-MM-dd HH:mm:ss} 日期、%logger{36} 类名 等,如果我们实现了自定义的插件,比如说 %sessionId 当前的会话ID 等,实现 Converter 接口即可。

2. 开发 log4j2 插件简单吗?

一般的实现还是挺简单的

3. log4j2 插件可以做什么?

有没有同学想过,在日志文件中,默认打印出当前登录的用户信息?注意,是默认打印出来的,不是自己 logger.info("当前登录的用户名:" + user.getName()),而是 logger.info("当前登录的用户名:")

4. 如何开发 log4j2 插件?

由于本文只是简介 log4j2 的环境搭建及配置,本人会在后续的博客中陆续发布 lo4j2 的一些封装文章以及插件的开发教程,欢迎大家关注留意。

敬请期待!

My Blog

blog.guijianpan.com

转载于:https://my.oschina.net/yzChen/blog/758939

你可能感兴趣的:(log4j2之环境搭建及基础配置)