log4j的使用步骤

1、首先将log4j-1.2.8.jar包含入类路径中。

2、Log4J必须在应用的其它代码执行前完成初始化。其初始化内容如下:

import   java.io.*;  import   javax.servlet.*;  import   org.apache.log4j.*;  public   class   Log4JInit   extends   HttpServlet   {    public   void   init()   throws   ServletException   {      String   prefix   =   getServletContext().getRealPath("/");      String   file   =   getServletConfig().getInitParameter("log4j-config-file");      //   从Servlet参数读取log4j的配置文件      if   (file   !=   null)   {        PropertyConfigurator.configure(prefix   +   file);      }    }    public   void   doGet(HttpServletRequest   request,HttpServletResponse   response)throws  IOException,   ServletException   {}    public   void   doPost(HttpServletRequest   request,HttpServletResponse   response)throws  IOException,   ServletException   {}  }

3、web.xml内容配置如下:具体的文件放在 路径:/webapps/项目名称/WEB-INF/web.xml

<?xml   version="1.0"   encoding="ISO-8859-1"?>  <!DOCTYPE   web-app          PUBLIC   "-//Sun   Microsystems,   Inc.//DTD   Web   Application   2.3//EN"          "http://java.sun.com/dtd/web-app_2_3.dtd">  <web-app>  <servlet>      <servlet-name>log4jinit</servlet-name>        <servlet-class>com.iss.common.util.Log4JInit</servlet-class>//这里换换成具体的初始化文件包        <init-param>        <param-name>log4j-config-file</param-name>  <param-value>WEB-INF/log4j.properties</param-value>        </init-param>        <load-on-startup>1</load-on-startup>      </servlet>< type="text/javascript">  <!--   Establish   the   default   list   of   welcome   files   -->      <welcome-file-list>          <welcome-file>index.jsp</welcome-file>          <welcome-file>index.html</welcome-file>          <welcome-file>index.htm</welcome-file>      </welcome-file-list>      <error-page>          <error-code>404</error-code>          <location>/FileNoFound.jsp</location>      </error-page>  </web-app>

注意:上面的load-on-startup应设为1,以便在Web容器启动时即装入该Servlet。log4j.properties文件放在根的properties子目录中,也可以把它放在其它目录中。应该把.properties文件集中存放,这样方便管理。

4、log4j.properties的配置,具体的路径在/webapps/项目名称/WEB-INF/log4j.properties

在配置文件中即log4j.properties中这样设置:

#设置成根目录,所有包括debug以上级别的信息都打印出来到日志文件中log4j.rootLogger=debug,   stdout#设置为debug,表示只能打印出debug级别的信息log4j.logger.debug=debug,   R#设置成info,表示只能打印出info级别的信息log4j.logger.info=info,s#设置成error,表示只能打印出error级别的信息log4j.logger.error   =   error,k#输出debug级别以上的信息到控制台og4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayout#   Pattern   to   output   the   caller's   file   name   and   line   number.log4j.appender.stdout.layout.ConversionPattern=(%F:%L)   -   %m%d%n打印debug级别的信息到debugInfo.loglog4j.appender.R=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.R.File=c:/webapps/debugInfo.loglog4j.appender.R.DatePattern='.'yyyy-MM-dd'.txt'log4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%d   [%F:%L]   -   %m   /r/n#打印info级别的信息到info.loglog4j.appender.s=org.apache.log4j.RollingFileAppenderlog4j.appender.s.File=   c:/webapps/info.log   < type="text/javascript">#   Control   the   maximum   log   file   sizelog4j.appender.s.MaxFileSize=100KB#   Archive   log   files   (one   backup   file   here)log4j.appender.s.MaxBackupIndex=1log4j.appender.s.layout=org.apache.log4j.PatternLayoutlog4j.appender.s.layout.ConversionPattern=%p   %t   %c   -   %m%d%n#打印error级别的信息到errorInfo.log中log4j.appender.k=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.k.File=C:/Program   Files/Apache   Tomcat   4.0/webapps/PSA/log/error_8080.log//log4j.appender.R.Append   =   truelog4j.appender.k.DatePattern='.'yyyy-MM-dd'.txt'log4j.appender.k.layout=org.apache.log4j.PatternLayoutlog4j.appender.k.layout.ConversionPattern=%d   [%F:%L]   -   %m   /r/n

5、在类中的的设置如下:

class类中如下:

static Logger debugLog=new Logger.getLogger(“debug”)

static Logger infoLog=new Logger.getLogger(“info”)

static Logger errorLog=new Logger.getLogger(“error”)

这样不同级别的log信息就可以打在不同的log文件中.

例如debugLog.debug(“”);就打印到上面的debuginfo中。

InfoLog.info(“”);就打印到上面的infoLog中。

勇于接受自己的不完美,认清自己不足的地方,

log4j的使用步骤

相关文章:

你感兴趣的文章:

标签云: