log4j2的配置和使用以及与log4j的区别-创新互联

http://logging.apache.org/log4j/2.x/manual/webapp.html#Servlet-3.0

成都创新互联主营余江网站建设的网络公司,主营网站建设方案,重庆App定制开发,余江h5小程序定制开发搭建,余江网站营销推广欢迎余江等地区企业咨询

log4j2的配置主要包含两方面功能

   1.log配置文件的配置问题

       如果进行了local的配置(普通配置,JNDI)配置,直接寻找指定的文件

           普通配置:    

  
		log4jConfiguration  
		/META-INF/log4j2.xml  
	

          JNDI配置:

               isLog4jContextSelectorNamed:布尔类型配置,由它选择是否使用JndiContextSelector。如果它设为true的话,那么log4jContextName一定要配置或者在web.xml中指定display-name。并且log4jConfiguration也要配置一个URL,这个URL是log4j2的配置文件地址,但这个不是必须要配置的。

               log4jContextName:配置display-name。

               log4jConfiguration:log4j配置文件的路径

                
            isLog4jContextSelectorNamed
            true
        
        
            log4jContextName
            myApplication
        
        
            log4jConfiguration
            file:///etc/myApp/myLogging.xml
        

   2.是否自启动(分为servlet2.5,servlet3.0以上)

       servlet2.5:需要自己配置filter,listener

                
            org.apache.logging.log4j.web.Log4jServletContextListener
            
        
        
        log4jServletFilter
            org.apache.logging.log4j.web.Log4jServletFilter
            
        
            log4jServletFilter
            /*
            REQUEST
            FORWARD
            INCLUDE
            ERROR
            ASYNC
        

       servlet3.0:

           log4j2能够在Servlet3.0下正常使用且不用配置。因为在Servlet3.0的API中加入了ServletContainerInitializer,它自动启动了Filter和ServletContextListener(这两个类在Servlet2.5中需要配置)。

           对于某些用户来说,自动启动Log4j是有问题的或者不受欢迎的。你可以使用isLog4jAutoInitializationDisabled参数来关闭自动启动。在web.xml中进行如下设置,即可自动取消启动。

        
           isLog4jAutoInitializationDisabled
           true
        

           一旦你禁止自动初始化,你必须像Servlet2.5 web程序中那样进行初始化操作。而且必须要在其它的框架启动之前启动。

由于log4j2不支持2.4及以下版本的web程序,下面介绍下log4j与log4j2的一些区别

   1.pom引入的区别

       log4j:

    
        log4j
        log4j
        1.2.17
    

       log4j2:


        
            org.apache.logging.log4j
            log4j-core
            2.1
        
        
            org.apache.logging.log4j
            log4j-api
            2.1
        
        
            org.apache.logging.log4j
            log4j-web
            2.1
        

   2.log4j想要生效,需要在xml中进行配置,而log4j2则有自启动功能

      
        org.springframework.web.util.Log4jConfigListener
       
      
        log4jConfigLocation
        classpath:config/log4j.properties
      
      
        log4jRefreshInterval
        60000
      

   3.Log调用

       log4j:

    import org.apache.log4j.Logger;
    private final Logger LOGGER = Logger.getLogger(Test.class.getName());

       log4j2:

    import org.apache.logging.log4j.Level;
    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;
    private static Logger logger = LogManager.getLogger(Test.class.getName());

log4j2配置:

    
  
	  
      
		  
          
			  
              
			  
              
          
		  
		  
          
              
          
		  
          
              
              
          
		  
          
              
              
          
      
	  
      
		  
          
              
              
              
              
          
      

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


标题名称:log4j2的配置和使用以及与log4j的区别-创新互联
标题链接:http://scyanting.com/article/hoosh.html