版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781
log4j是apache的一个开源项目,通过使用log4j,我们可以控制日志信息输送的目的地是控制台、文件、gui组件,甚至是套接口服务器、nt的事件记录器、unix syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,apache为我们提供了一个强有力的日志操作包-log4j。
2.1、日志信息的优先级
日志记录的优先级,分为off、fatal、error、warn、info、debug、all或者您定义的级别。log4j建议只使用四个级别,优 先级从高到低分别是error、warn、info、debug。而且在企业中一般也只使用着四种。下面是各个级别的极介绍:
off 最高等级,用于关闭所有日志记录。
fatal 指出每个严重的错误事件将会导致应用程序的退出。
error 指出虽然发生错误事件,但仍然不影响系统的继续运行。
warn 表明会出现潜在的错误情形。
info 一般和在粗粒度级别上,强调应用程序的运行全程。
debug 一般用于细粒度级别上,对调试应用程序非常有帮助。
all 最低等级,用于打开所有日志记录。
2.2、日志信息的输出目的地
日志信息的输出目的地指定了日志将打印到控制台还是文件中。参考如下配置文件log4j.properties,其既配置了输出到控制台,也配置了输出到日志文件中:
其中log4j.appender.d.threshold是一个过滤器,配置了表示输出该级别及其以上的日志,
另外log4j.appender.d.append = true一般输出到文件的都会配置,而且配置成true,true:表示添加,false:表示覆盖。
2.3、配置日志信息的格式
2.2中的log4j.properties配置文件中,应该会看log4j.appender.*.layout,这表示输出的日志格式配置。
log4j.appender.*.layout值的选择有以下几种:
一般我们都采用第二种org.apache.log4j.patternlayout,自定义格式,如2.2中的log4j.properties配置文件中,这种格式需要我们自定义,这里小宝鸽如下定义:
其中含义介绍:
本项目使用的环境:eclipse + maven 。
3.1、新建maven项目
(packagding 选war,因为后面会讲到其在web项目中的使用,同样用这个新建的项目),如果不知道如何新建maven项目的,可以参考博主另外一篇文章:
<a href="http://blog.csdn.net/u013142781/article/details/50316383">http://blog.csdn.net/u013142781/article/details/50316383</a>
3.2、在pom.xml添加log4j的jar包依赖:
3.3、添加配置文件和测试类

log4j.properties内容如下:
logtest.java内容如下:
3.4、运行结果
运行logtest.java,会看到控制台如下结果:
另外,d:\logs下也会多了两个log文件,且内容如下图:
4.1、将它转成web项目
转换方法,请阅读博主的另外一篇文章:
<a href="http://blog.csdn.net/u013142781/article/details/50380920">http://blog.csdn.net/u013142781/article/details/50380920</a>
4.2、添加spring和springmvc以及javaee-api的依赖
修改pom.xml如下:
4.3、配置web.xml
其实web项目中log4j的使用与上面的区别就在于,web项目进行了log4j.properties的加载,web项目加上了如下配置:
配置文件web.xml的全部内容如下:
4.4、配置其他文件如下目录
usercontroller.java内容如下:
spring-mvc.xml内容如下:
application.xml内容如下:
index.jsp内容乳如下:
4.5、运行结果
<a href="http://download.csdn.net/detail/u013142781/9378146">http://download.csdn.net/detail/u013142781/9378146</a>