log4j2设置日志文件输出到web目录下,亲测可用

请确认log4j-api:2.x,log4j-core:2.x,log4j-web:2.x都有并输出到web目录下

一、不同Servlet版本

     1)在web.xm中查看自己的Servlet版本:(通过web-app version元素来看)

      web.xml v2.3

 
 
  
 
  
 

     web.xml v2.4

 
 
  
 

    web.xmlv2.5

   
 
  
 

    web.xmlv3.0

 
  
 
  
 

    2)Servlet3.0及以上Tomcat等服务器(需要Tomcat版本为7.0及以上)会自动加载log4j2以及在src路径(classpath)下的log4j2.xml文件,不过你也可以在web.xml中设置isLog4jAutoInitializationDisabled元素为true就可以禁止java服务器自动加载log4j2.

3)如果你设置了禁用自动加载或者你的Servlet版本为2.5(log4j2不支持2.4及以下版本),可以在web.xml添加listener元素:(值得注意的是你必须把这些listener和filter放在spring等一些servlet之前哦,也就是放在第一位)

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

上述资料在http://logging.apache.org/log4j/2.x/manual/webapp.html中都有哦,小哥我只不过是找关键部分翻译了一下,

望你们笑纳。


二、配置log4j2中文件输出目录

只需在RollingFile、File等文件输出中设置${web:rootDir}就行了(原理是索引获得ServletContext上下文),如下:


  

官方网站上有详细介绍:http://logging.apache.org/log4j/2.x/manual/lookups.html

你可能感兴趣的:(java,网页开发,web,java,servlet,log4j)