天天看点

Log4j日志在java项目中的使用(附工程源码)

版权声明:本文为博主原创文章,转载注明出处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日志在java项目中的使用(附工程源码)

log4j.properties内容如下:

logtest.java内容如下:

3.4、运行结果

运行logtest.java,会看到控制台如下结果:

Log4j日志在java项目中的使用(附工程源码)

另外,d:\logs下也会多了两个log文件,且内容如下图:

Log4j日志在java项目中的使用(附工程源码)
Log4j日志在java项目中的使用(附工程源码)
Log4j日志在java项目中的使用(附工程源码)

4.1、将它转成web项目

转换方法,请阅读博主的另外一篇文章: 

<a href="http://blog.csdn.net/u013142781/article/details/50380920">http://blog.csdn.net/u013142781/article/details/50380920</a>

Log4j日志在java项目中的使用(附工程源码)

4.2、添加spring和springmvc以及javaee-api的依赖

修改pom.xml如下:

4.3、配置web.xml

其实web项目中log4j的使用与上面的区别就在于,web项目进行了log4j.properties的加载,web项目加上了如下配置:

配置文件web.xml的全部内容如下:

4.4、配置其他文件如下目录

Log4j日志在java项目中的使用(附工程源码)

usercontroller.java内容如下:

spring-mvc.xml内容如下:

application.xml内容如下:

index.jsp内容乳如下:

4.5、运行结果

Log4j日志在java项目中的使用(附工程源码)
Log4j日志在java项目中的使用(附工程源码)
Log4j日志在java项目中的使用(附工程源码)

<a href="http://download.csdn.net/detail/u013142781/9378146">http://download.csdn.net/detail/u013142781/9378146</a>

继续阅读