WEB-INF下config.xml :
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="FileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="../webapps/sxlihongOA1.0/logs/errors.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="10240"/>
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.TTCCLayout">
<param name="dateFormat" value="yyyy-MM-dd HH:mm:ss"/>
</layout>
</appender>
<root>
<priority value ="error" />
<appender-ref ref="FileAppender"/>
</root>
</log4j:configuration>
WEBXML配置如下:
<!-- log4j 配置 -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<!-- log4j 初始化 -->
<servlet>
<servlet-name>initlog4j</servlet-name>
<servlet-class>com.lihong.app.util.InitLog4J</servlet-class>
<init-param>
<param-name>log4j</param-name>
<param-value>WEB-INF/config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>initlog4j</servlet-name>
<url-pattern>/initlog4j</url-pattern>
</servlet-mapping>
InitLog4J servlet如下:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.apache.log4j.xml.*;
public class InitLog4J extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
public void init() throws ServletException {
String homePath = this.getServletContext().getRealPath("/");
homePath += this.getServletConfig().getInitParameter("log4j");
DOMConfigurator.configure(homePath);
System.out.println("log4j 初始化成功!");
}
//Clean up resources
public void destroy() {
}
}