在web project中使用log4j
下面我们以在tomcat中示范怎么配置和使用log4j
环境设置:用过tomcat的都知道,应该把log4j.jar文件拷贝到%TOMCAT_HOME%\common\lib中。
编辑servlet:
 1在web project中使用log4j _log4jpackage my.scwcd;
 2在web project中使用log4j _log4j
 3在web project中使用log4j _log4j
 4在web project中使用log4j _log4jimport javax.servlet.ServletException;
 5在web project中使用log4j _log4jimport javax.servlet.http.HttpServlet;
 6在web project中使用log4j _log4j
 7在web project中使用log4j _log4jimport org.apache.log4j.PropertyConfigurator;
 8在web project中使用log4j _log4j
 9在web project中使用log4j _web_09public class Log4jInit extends HttpServlet {
10在web project中使用log4j _log4j_12
11在web project中使用log4j _log4j_13 public Log4jInit() {
12在web project中使用log4j _log4j_12  super();
13在web project中使用log4j _web_17 }

14在web project中使用log4j _log4j_12
15在web project中使用log4j _log4j_19 public void destroy() {
16在web project中使用log4j _log4j_12  super.destroy(); // Just puts "destroy" string in log
17在web project中使用log4j _web_17 }

18在web project中使用log4j _log4j_12
19在web project中使用log4j _log4j_25 public void init() throws ServletException {
20在web project中使用log4j _log4j_12  String path = getServletContext().getRealPath("/");
21在web project中使用log4j _log4j_12  
22在web project中使用log4j _log4j_12  String file = getInitParameter("log4j");
23在web project中使用log4j _职场_31  if(file != null){
24在web project中使用log4j _log4j_12   PropertyConfigurator.configure(path+file);
25在web project中使用log4j _web_17  }

26在web project中使用log4j _log4j_12  
27在web project中使用log4j _web_17 }

28在web project中使用log4j _log4j_12
29在web project中使用log4j _web_39}

30在web project中使用log4j _log4j
31在web project中使用log4j _log4j
并在web.xml中加入如下配置:
 1在web project中使用log4j _log4j  <servlet>
 2在web project中使用log4j _log4j    <servlet-name>Log4jInit</servlet-name>
 3在web project中使用log4j _log4j    <servlet-class>my.scwcd.Log4jInit</servlet-class>
 4在web project中使用log4j _log4j    <init-param>
 5在web project中使用log4j _log4j     <param-name>log4j</param-name>
 6在web project中使用log4j _log4j     <param-value>WEB-INF\log4j.properties</param-value>
 7在web project中使用log4j _log4j    </init-param>
 8在web project中使用log4j _log4j    <load-on-startup>1</load-on-startup>
 9在web project中使用log4j _log4j  </servlet>
10在web project中使用log4j _log4j
注意上面<param-value>中的"\"在linux要写成"/"。
还有加上log4j.properties文件在WEB-INF目录下
log4j.rootLogger=INFO, A1 , R
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} [%c]-[%p] %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=log4j.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
下面写了两个测试的程序:
servlet Test.java中:
1在web project中使用log4j _log4j public void doGet(HttpServletRequest request, HttpServletResponse response)
 2在web project中使用log4j _休闲_53   throws ServletException, IOException {
 3在web project中使用log4j _log4j_12
 4在web project中使用log4j _log4j_12  response.setContentType("text/html");
 5在web project中使用log4j _log4j_12  PrintWriter out = response.getWriter();
 6在web project中使用log4j _log4j_12  Logger logger = Logger.getLogger(Test.class);
 7在web project中使用log4j _log4j_12  logger.info("Test use Logging for Servlet");
 8在web project中使用log4j _log4j_12  out.println("<h1>Success<h1>");
 9在web project中使用log4j _log4j_12  out.flush();
10在web project中使用log4j _log4j_12  out.close();
11在web project中使用log4j _web_39 }

12在web project中使用log4j _log4j
13
JSP temp.jsp中:
1在web project中使用log4j _log4j   <%
2在web project中使用log4j _log4j    response.setContentType("text/html");
3在web project中使用log4j _log4j  Logger logger = Logger.getLogger("temp.jsp");
4在web project中使用log4j _log4j  logger.info("Test use Logging for JSP");
5在web project中使用log4j _log4j  out.println("<h1>Success<h1>");
6在web project中使用log4j _log4j   %>
7在web project中使用log4j _log4j
这样在%TOMCAT_HOME%\bin目录下会产生log4j.log的文件,这就是日志文件。