a Sample for Log4j

类别:Java 点击:0 评论:0 推荐:

1.Some tools
    Tomcat
    Log4j_1.2.9 http://mirrors.xtria.com/apache/logging/log4j/1.2.9/logging-log4j-1.2.9.zip
 2. four files
    a. web.xml
        add following code to web.xml
          <servlet>
    <servlet-name>log4j-init</servlet-name>
    <servlet-class>com.legendinfo.log.Log4jInit</servlet-class>

    <init-param>
      <param-name>log4j-init-file</param-name>
      <param-value>WEB-INF/classes/log4j.property</param-value>
    </init-param>

    <load-on-startup>1</load-on-startup>
  </servlet>
  b.create a special servlet for log4j initialazation
    save the file in the web-info/classes folder
package com.legendinfo.log;
import org.apache.log4j.PropertyConfigurator;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.io.IOException;

public class Log4jInit extends HttpServlet {

  public void init() {
    String prefix =  getServletContext().getRealPath("/");
    String file = getInitParameter("log4j-init-file");
    // if the log4j-init-file is not set, then no point in trying
    if(file != null) {
      PropertyConfigurator.configure(prefix+file);
      System.out.println("Init Log4j success!");
    }
  }

  public void doGet(HttpServletRequest req, HttpServletResponse res) {
  }
}

 c.create a log4j.property file that define the log4j properties
    the property file is setting in web.xml
    a sample property file as following

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=../logs/log4j.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.TTCCLayout


d.a test Jsp page
    testLog.jsp:
<%@ page import="org.apache.log4j.*"%>
<html>
<body>
<%
   //log4j.appender.appenderName = WEB-INF/classes/log4j.log
  
   Logger  logger = Logger.getLogger("com.legendinfo");
   logger.setLevel(Level.INFO);
   Logger barlogger = Logger.getLogger("com.legendinfo.log");
   logger.warn("Low fuel level.");
   logger.debug("Starting search for nearest gas station.");
   barlogger.info("Located nearest gas station.");
   barlogger.debug("Exiting gas station search");
%>
</body>
</html>

3. resault
    after you startup your tomcat , you can see the success log “Init Log4j success!“
    and you can look the testLog.jsp then the logs will be found in the tomcat log file and log/log4j.log file
4.some feedback please send to http://blog.csdn.net/legendinfo or [email protected]

本文地址:http://com.8s8s.com/it/it13968.htm