log4j在web中的配置

1. 下载log4j-1.2.8.jar包,将其存放在WEB-INF/lib目录下。

2. 在WEB-INF/classes目录下新建log4j.properties。

3. log4j.properties的内容可以如下, 不理解,可以看看log4j.properties配置文件介绍
[url]http://maymay.iteye.com/blog/1275432[/url]
[quote]
### set log levels ###
log4j.rootLogger=DEBUG,A1,A2

### direct messages to file framework.log ###
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.File=framework.log
log4j.appender.A2.Threshold = DEBUG ## 输出DEBUG级别以上的日志
log4j.appender.A2.DatePattern='.'yyyy-MM-dd
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%-5p]%d%n%l%n%m%n


log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.Target=System.out
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-5p(%10c{1}) %m%n

### application log config ###
log4j.logger.com.may=DEBUG,A1,A2
[/quote]

4. 新建一个servlet,内容可以如下:

package com.may.framework.initLog4j;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.PropertyConfigurator;

public class InitLog4jServlet extends HttpServlet {

/**
*
*/
public void init() {
final String prefix = getServletContext().getRealPath("/");
System.out.println("Real path:" + prefix);
final String path = getServletContext().getRealPath("");
System.setProperty("webAppHome", path); // 给log4j.properties文件中的变量
// 'webAppHome' 赋值
final String file = getInitParameter("log4j-initial-file");
// if the log4j-init-file is not set, then no point in trying
if (file != null) {
PropertyConfigurator.configure(prefix + file);
System.out.println("Load log4j.properties resource");
}
}
}


5. web.xml配置
[quote]
<servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>com.may.framework.initLog4j.InitLog4jServlet</servlet-class>
<init-param>
<param-name>log4j-initial-file</param-name>
<param-value>WEB-INF/classes/log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
[/quote]

6. 测试

package app;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class RegisterAction extends Action {

protected static Logger log = Logger.getLogger("ClassName.class");

/**
*
* @param mapping
* @param form
* @param req
* @param res
* @return
*/
public ActionForward excute(ActionMapping mapping, ActionForm form,
HttpServletRequest req, HttpServletResponse res) {

log.info("-------------in execute");
log.debug("------------------");
ActionForward forward = new ActionForward();
forward = mapping.findForward("success");
return (forward);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值