log4j2设置日志文件输出到web目录下,亲测可用
来源:互联网 发布:linux cp 一个文件夹 编辑:程序博客网 时间:2024/05/21 10:02
请确认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:
<span style="font-size:14px;"><?xmlversion="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-appPUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> </web-app> </span>
web.xml v2.4:
<span style="font-size:14px;"><?xmlversion="1.0" encoding="UTF-8"?> <web-appid="WebApp_9" version="2.4"xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> </web-app> </span>
web.xmlv2.5:
<span style="font-size:14px;"><?xmlversion="1.0" encoding="UTF-8"?> <web-appxmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> </web-app> </span>
web.xmlv3.0:
<span style="font-size:14px;"><?xmlversion="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> </web-app> </span>
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之前哦,也就是放在第一位)
<span style="font-size:14px;"> <listener> <listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class> </listener> <filter> <filter-name>log4jServletFilter</filter-name> <filter-class>org.apache.logging.log4j.web.Log4jServletFilter</filter-class> </filter> <filter-mapping> <filter-name>log4jServletFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> <dispatcher>ERROR</dispatcher> <dispatcher>ASYNC</dispatcher><!-- Servlet 3.0 w/disabled auto-initialization only; not supported in 2.5 --> </filter-mapping></span>
上述资料在http://logging.apache.org/log4j/2.x/manual/webapp.html中都有哦,小哥我只不过是找关键部分翻译了一下,
望你们笑纳。
二、配置log4j2中文件输出目录
只需在RollingFile、File等文件输出中设置${web:rootDir}就行了(原理是索引获得ServletContext上下文),如下:
<span style="font-size:14px;"><Appenders> <File name="ApplicationLog"fileName="${web:rootDir}/app.log"/></Appenders></span>
官方网站上有详细介绍:http://logging.apache.org/log4j/2.x/manual/lookups.html
- log4j2设置日志文件输出到web目录下,亲测可用
- log4j2在web工程设置日志文件保存在工程目录内
- war包部署tomcat下,项目中log4j2日志不输出到文件中
- Log4j2 日志分级别输出到不同文件
- log4j2配置输出日志到Kafka
- 关于log4j2的重新加载,以及不同级别日志输出到不同日志文件
- 关于log4j2的重新加载,以及不同级别日志输出到不同日志文件
- 关于log4j2的重新加载,以及不同级别日志输出到不同日志文件
- log4j2 按照日志级别将日志输出到不同的文件
- 关于log4j2的重新加载,以及不同级别日志输出到不同日志文件
- log4j2的重新加载及不同级别日志输出到不同日志文件
- Log4j2实现不同线程不同级别日志输出到不同的文件中
- log4j2的log输出到tomcat/logs目录下及使用
- Log4J输出日志到WEB工程目录的实现方法
- LOG4J输出日志到web目录的相对路径
- LOG4J输出日志到web目录的相对路径
- Log4J2在Web工程下日志无法写入文件的问题
- log4j配置,对指定包进行DEBUG输出和输出日志文件到tomcat下logs目录
- 14.1.1 InnoDB as the Default MySQL Storage Engine
- 怎样用iMindMap流程图来提高团队合作
- leetcode1
- Android 把jsonarray传递到下个页面
- (转载)企业级加密文件系统 eCryptfs 详解
- log4j2设置日志文件输出到web目录下,亲测可用
- ALL00 跟着小甲鱼学汇编00——背景,铺垫,前奏
- Intel S2600JF主板蓝屏问题的处理
- Sequence Alignment
- Android传感器概述(六)
- 蚂蚁感冒
- 闪屏页支持点击进入主页面
- MySQL使用可重复读作为默认隔离级别的原因之一
- iOS NSURLSession 实现网络请求-文件下载-上传-后台下载