log4j.properties 路径:/WEB-INF/log4j.properties jar包路径:/WEB-INF/lib log4j.rootLogger=DEBUG,A1,A2 # 输出到控制台 log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [信息] %m%n #输出到日志文件 log4j.appender.A2=org.apache.log4j.FileAppender log4j.appender.A2.File=D:/app.log log4j.appender.A2.Append=true log4j.appender.A2.layout=org.apache.log4j.PatternLayout log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [信息] %m%n web.xml <servlet> <servlet-name>Log4jInit</servlet-name> <servlet-class>com.jyt.common.filter.Log4jInit</servlet-class> <init-param> <param-name>log4j</param-name> <param-value>log4j.properties</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> Servlet package test.struts; import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.log4j.PropertyConfigurator; public class Log4jInit extends HttpServlet { public void init() { String prefix = getServletContext().getRealPath("/"); String file = getInitParameter("log4j"); prefix=prefix.replace("//", "/"); System.out.println("................log4j start"+prefix+file); if(file != null) { PropertyConfigurator.configure(prefix+file); } } public void doGet(HttpServletRequest req, HttpServletResponse res) { } } class中或jsp中 public class Test { private static Log logger = LogFactory.getLog(Test.class); logger.error("Test......."); } <%@ page contentType="text/html; charset=GB2312" %> <%@ page import="org.apache.log4j.*" %> <% Logger logger = Logger.getLogger("test.jsp"); logger.debug("befor test"); %> <h1>This is login test</h1> <% logger.info("after test");%>