public class Log4jInitServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void service(ServletRequest req, ServletResponse resp)
throws ServletException, IOException {
} public void init() throws ServletException {
System.setProperty("webappRoot", getServletContext().getRealPath("/"));
PropertyConfigurator.configure(getServletContext().getRealPath("/")
+ getInitParameter("configfile"));
}
}
throws ServletException, IOException {
} public void init() throws ServletException {
System.setProperty("webappRoot", getServletContext().getRealPath("/"));
PropertyConfigurator.configure(getServletContext().getRealPath("/")
+ getInitParameter("configfile"));
}
}
<servlet>
<servlet-name>log4j-config-file</servlet-name>
<servlet-class>com.ivision.pms.common.log.Log4jInitServlet</servlet-class>
<init-param>
<param-name>configfile</param-name>
<param-value>/WEB-INF/classes/log4j-config.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>SERVLET代码如下:
package com.ivision.pms.common.log;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;import org.apache.log4j.PropertyConfigurator;public class Log4jInitServlet extends HttpServlet
{
public void service(ServletRequest req, ServletResponse resp)
throws ServletException, IOException
{ } public void init() throws ServletException
{
System.setProperty("WebAppRoot", getServletContext().getRealPath("/"));
PropertyConfigurator.configure(getServletContext().getRealPath("/") + getInitParameter("configfile"));
}
}LOG4J的属性文件内容如下,并将属性文件放在了WebRoot/WEB-INF/classes目录里面:
log4j.rootLogger = DEBUG, A1
log4j.appender.A1 = org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern = %-4r [%t] %-5p %c %x - %m%n下面是JSP页面:
<%@ page language="java" import="java.util.*,org.apache.log4j.Logger" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link href="style/reg.css" rel="stylesheet" type="text/css">
<title>测试页面</title>
</head>
<body>
<%
System.out.println("aaaaa");
Logger log = Logger.getLogger("test.jsp");
log.info("测试日志,哈哈");
System.out.println("bbbbb");
%>
</body>
</html>