需要准备:
1.日志文件需要的log4j-1.2.16.jar包(见附件log4j.rar压缩包)
2.日志配置文件log4j.properties(见附件log4j.rar压缩包)
总共分3个步骤:
步骤1:添加 log4j-1.2.16.jar到项目中
步骤2:添加log4j.properties到项目指定目录
步骤3:在Web.xml 中配置添加如下代码
步骤4:在java类中作为添加log属性
步骤5:在java代码中使用log.debug("your debug message");或者log.error("your error message",ex)
详细步骤如下:
步骤1:添加 log4j-1.2.16.jar到项目中
将jar包拷贝到\WebRoot\WEB-INF\lib目录下,或者右击项目选择 Build Path >Configure Build Path >Add External JARs 然后点击OK
步骤2:添加log4j.properties到项目指定目录,本文是添加到与applicationContext.xml 同一路径,如下图1:
图1 Log4j.properties 所在路径
log4j.properties里面的配置参数参考:http://houliang4285.iteye.com/blog/1491594
步骤3:在Web.xml 中配置添加如下代码:
<!-- 加载log4j --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <context-param> <param-name>webAppRootKey</param-name> <param-value>netctoss.root</param-value> </context-param>
配置后的web.xml如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 加载log4j --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <context-param> <param-name>webAppRootKey</param-name> <param-value>netctoss.root</param-value> </context-param> <!-- 加载Spring配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- 配置Spring监听 --> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> </web-app>
步骤4:在java类中作为添加log属性,如下图2:
关于<span style="font-family:Helvetica, Tahoma, Arial, sans-serif;">webAppRootKey:</span>
<context-param> <param-name>webAppRootKey</param-name> <param-value>netctoss.root</param-value> </context-param>
<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"。但最好设置,以免项目之间的名称冲突。
定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里。
然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中。
此参数用于后面的“Log4jConfigListener”-->