程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> log4j的使用步驟

log4j的使用步驟

編輯:關於JAVA

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.ConsoleAppender
log4j.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.log
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=c:/webapps/debugInfo.log
log4j.appender.R.DatePattern='.'yyyy-MM-dd'.txt'
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d   [%F:%L]   -   %m   \r\n
#打印info級別的信息到info.log
log4j.appender.s=org.apache.log4j.RollingFileAppender
log4j.appender.s.File=   c:/webapps/info.log   < type="text/javascript">
#   Control   the   maximum   log   file   size
log4j.appender.s.MaxFileSize=100KB
#   Archive   log   files   (one   backup   file   here)
log4j.appender.s.MaxBackupIndex=1
log4j.appender.s.layout=org.apache.log4j.PatternLayout
log4j.appender.s.layout.ConversionPattern=%p   %t   %c   -   %m%d%n
#打印error級別的信息到errorInfo.log中
log4j.appender.k=org.apache.log4j.DailyRollingFileAppender
log4j.appender.k.File=C:/Program   Files/Apache   Tomcat   4.0/webapps/PSA/log/error_8080.log
//log4j.appender.R.Append   =   true
log4j.appender.k.DatePattern='.'yyyy-MM-dd'.txt'
log4j.appender.k.layout=org.apache.log4j.PatternLayout
log4j.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中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved