Log4j2在WEB项目中配置
最近决定在新WEB项目中使用新的日志系统Log4j2。
官方介绍和学习文档网址为http://logging.apache.org/log4j/2.x/
首先在WEB项目中引入以下几个jar包:
① log4j-api-2.4.1.jar
② log4j-core-2.4.1.jar
③ log4j-web-2.4.1.jar
按照以往的思路,简单修改web.xml中的Log配置如下:
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/conf/log4j2.xml</param-value>
</context-param>
然后启动项目,就出现了这个错误信息【ERROR StatusLogger No Log4j context configuration provided. This is very unusual】。
注意,默认的配置文件是log4j2.xml,而不是log4j.xml了。
按照网上的大神转来转去的一个Servlet 2.5的配置怎么试都报这个错误(没有关于3.0的配置介绍)。
没办法了,只有去官网仔细学习了。
我的项目使用Servlet 3.0,着重看了官网的MANUAL->Web Applications and JSPs->Servlet 3.0 and Newer这一段。
发现以下几个注意点:
一、Tomcat 7.0.43以前的版本,需要从catalina.properties的配置项【jarsToSkip】中屏蔽掉“log4j*.jar”这一选项。
二、context-param中关于配置文件的路径信息配置是【log4jConfiguration】而不是log4jConfigLocation。
三、context-param中需要增加配置信息【log4jContextName】。
四、Listener和Filter相关的配置在Servlet 3.0以上被log4j-web-2.4.1.jar“自动”的初始化了。
我的Tomcat版本是7.0.65(七系最新版,所以第一个问题不存在)。
重新配置web.xml后的片段如下:
<context-param>
<param-name>log4jContextName</param-name>
<param-value>star</param-value>
</context-param> <context-param>
<param-name>log4jConfiguration</param-name>
<param-value>/WEB-INF/conf/log4j2.xml</param-value>
</context-param>
重新发布项目,竟然还是报错,不能正确的初始化和使用!
好吧,不卖关子了,这个问题最终查到了,属于最难查的问题范畴了,就是“我原以为”系列。
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
看到了吧,web.xml中的Servlet的版本声明写错了,我在项目中实际使用的是Servlet 3.0。
将【2_5】改为【3_0】,将【2.5】改为【3.0】。
OK,可以使用性能指数级提升的Log4j2了。
Log4j2在WEB项目中配置的更多相关文章
- 转载 Log4j2在WEB项目中配置
最近决定在新WEB项目中使用新的日志系统Log4j2. 官方介绍和学习文档网址为http://logging.apache.org/log4j/2.x/ 首先在WEB项目中引入以下几个jar包: ① ...
- web项目中配置多个数据源
web项目中配置多个数据源 spring + mybatis 多数据源配置有两种解决方案 1.配置多个不同的数据源,使用一个sessionFactory,在业务逻辑使用的时候自动切换到不同的数据源, ...
- 如何在web项目中配置Spring的Ioc容器
在web项目中配置Spring的Ioc容器其实就是创建web应用的上下文(WebApplicationContext) 自定义要使用的IoC容器而不使用默认的XmlApplicationContext ...
- 如何在Web项目中配置Spring MVC
要使用Spring MVC需要在Web项目配置文件中web.xml中配置Spring MVC的前端控制器DispatchServlet <servlet> <servlet-name ...
- 在web项目中配置log4j
在web.xml中添加如下代码 <context-param> <param-name>contextConfigLocation</param-name> < ...
- day63-webservice 08.在web项目中配置带有接口的webservice服务
这个是配置带有接口的WebService的服务. http://localhost:8080/cxf-web-server/service 带有接口的实现类也给它做好了.jaxws:endpoint是 ...
- Spring在Web项目中的三种启动加载的配置
在最近的项目中,使用到了spring相关的很多东西,有点把spring的配置给搞混了,从网上查到的资料以及整理了一下. 在Web项目中,启动spring容器的方式有三种,ContextLoaderLi ...
- 真分布式SolrCloud+Zookeeper+tomcat搭建、索引Mysql数据库、IK中文分词器配置以及web项目中solr的应用(1)
版权声明:本文为博主原创文章,转载请注明本文地址.http://www.cnblogs.com/o0Iris0o/p/5813856.html 内容介绍: 真分布式SolrCloud+Zookeepe ...
- SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例
要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...
随机推荐
- python—类对象和实例对象的区别
最近在对RF的通讯层的模块进行封装,需要将之前放在类似main里面的一个方法,如下所示:这段代码是开发提供,用于接口测试,模拟底层通讯,具体的通讯是在dll内,python这边只是做了个封装让RF进行 ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON TileChannels
zw版[转发·台湾nvp系列Delphi例程]HALCON TileChannels unit Unit1;interfaceuses Windows, Messages, SysUtils, Var ...
- Mysql 查询Hash分区
select * from information_schema.partitions where table_schema=database() and table_name='table_name ...
- Reverse Linked List II
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...
- IE11下,IIS7.5不自动生成__doPostBack事件
MS在 2013/10/8 已出补丁 http://www.microsoft.com/zh-cn/download/details.aspx?id=39257 https://support.mic ...
- Serialize Documents with the C# Driver
1.介绍 该文档是1.8版本的C#驱动. 本节教程讨论C#类和BSON文档之间的序列化和反序列化.序列化是将对象映射成一个可以存储在MongoDB中的BSON文档的过程,反序列化是从一个BSON文档重 ...
- FTP上传类
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Net;usi ...
- Verilog HDL基础语法讲解之模块代码基本结构
Verilog HDL基础语法讲解之模块代码基本结构 本章主要讲解Verilog基础语法的内容,文章以一个最简单的例子"二选一多路器"来引入一个最简单的Verilog设计文件的 ...
- 在centos6.5-64bit上安装wxHexEditor,以查看编译二进制文件
目前在做一个存储,磁盘里面的数据老是出现很诡异的地方,某个通道的录像播放到一半的时候,切换到另外一个通道的视频上去了,一直不知道怎么下手,想着用十六进制编辑器查看磁盘数据. sudo yum inst ...
- JavaEE基础(十六)/集合
1.集合框架(去除ArrayList中重复字符串元素方式) A:案例演示 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) 思路:创建新集合方式 /** * A:案例演示 * 需求 ...