posts - 0,  comments - 17,  trackbacks - 0

          第一步,

          Properties文件(first_log4j.properties) 放在系統(tǒng)的src包中。(eclipse布置在"WEB-INF"classes

          log4j.rootLogger=INFO,stdout,logfile

          log4j.category.com.sumit=DEBUG

          log4j.appender.stdout=org.apache.log4j.ConsoleAppender

          log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

          log4j.appender.stdout.layout.ConversionPattern= [%p][%c]- %m [%d] %n

          # logfile set up.

          log4j.appender.logfile=org.apache.log4j.RollingFileAppender

          log4j.appender.logfile.File=set up in web.xml

          log4j.appender.logfile.MaxFileSize=50MB

          # Keep three backup files.

          log4j.appender.logfile.MaxBackupIndex=10

          # Pattern to output: date priority [category] - message

          log4j.appender.logfile.layout=org.apache.log4j.PatternLayout

          #log4j.appender.logfile.layout=org.apache.log4j.HTMLLayout

          #log4j.appender.logfile.layout.ConversionPattern=時(shí)間:%d%n 優(yōu)先級(jí):%p%n 源文件:%F%n :%c%n 方法:%M%n 行數(shù)%L%n 最全:%l%n 信息:%m%n------------------------------------------------%n%n

          log4j.appender.logfile.layout.ConversionPattern=%n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - %n時(shí)間:%d%n 優(yōu)先級(jí):%p%n 位置:%l%n 信息:%m%n%n

          第二步,servlet

          package com.royal.listener;

          import java.io.FileInputStream;

          import java.io.IOException;

          import java.util.Properties;

          import javax.servlet.ServletConfig;

          import javax.servlet.ServletException;

          import javax.servlet.http.HttpServlet;

          import org.apache.log4j.Logger;

          import org.apache.log4j.PropertyConfigurator;

          publicclass LogListener extends HttpServlet {

            

              privatestaticfinallongserialVersionUID = 1L;

             

              static Logger log = Logger.getLogger(LogListener.class);

              public LogListener() {

              }

              publicvoid init(ServletConfig config) throws ServletException {

                  String prefix = config.getServletContext().getRealPath("/");

                 

                  String properties = config.getInitParameter("log4j_properties");

                  String logger=config.getInitParameter("log4j_outPutFile");

                 

                  String propertiesPath = prefix + properties;

                  Properties props = new Properties();

                  try {

                      FileInputStream istream = new FileInputStream(propertiesPath);

                      props.load(istream);

                      istream.close();

                      //toPrint(props.getProperty("log4j.appender.file.File"));

                      String logFile = prefix + logger;//設(shè)置路徑

                      logFile=logFile.replace('""', '/');

                     

                      props.setProperty("log4j.appender.logfile.File",logFile);

                      

                     

                      PropertyConfigurator.configure(props);//裝入log4j配置信息

                     

                      log.info("皇家金典項(xiàng)目啟動(dòng)------");

                    

                      log.info("LOG被加載日志文件位置:"+props.getProperty("log4j.appender.logfile.File"));

                     

                  } catch (IOException ioe) {

                  log.error(ioe);

                     ioe.printStackTrace();

                      return;

                  }

              }

          }

          Web.xml: (load-on-srartup=1 項(xiàng)目啟動(dòng)時(shí)加載)

          參數(shù)中有一個(gè)是logs"log.log,自動(dòng)生成日志文件,生成在項(xiàng)目下面的logs directory中,文件名為log.log

          <servlet>

                   <servlet-name>LogListener</servlet-name>

                   <servlet-class>com.royal.listener.LogListener</servlet-class>

                   <init-param>

                     <param-name>log4j_properties</param-name>

                     <param-value>WEB-INF/classes/first_log4j.properties</param-value>

                   </init-param>

                   <init-param>

                     <param-name>log4j_outPutFile</param-name>

                     <param-value>logs"log.log</param-value>

                   </init-param>

                   <load-on-startup>1</load-on-startup>

                 </servlet>

          第三步 使用

          如果是普通的JAVA類,

          就得初始化log變量

          static Logger log = Logger.getLogger(Mail.class);

          在要記錄日去的地方

          log.error(ex+創(chuàng)建MIME郵件對(duì)象失敗!"); //exException對(duì)象

          或者 log.info/log.debug/log.warn

          如果是struts中的DispatchAction的子類,或其它有Log的類的子類。

          就可以不用初始化log變量。

          posted on 2007-12-18 11:31 xyz 閱讀(358) 評(píng)論(0)  編輯  收藏 所屬分類: 他山之石

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          留言簿

          隨筆檔案(1)

          文章分類(44)

          文章檔案(46)

          收藏夾(1)

          Adobe

          AOP

          API

          appServer

          BI

          c

          • c-free
          • codeblocks
          • codelite
          • CodeLite IDE 是一個(gè)強(qiáng)大的開(kāi)源,跨平臺(tái)的 C/C++整合開(kāi)發(fā)環(huán)境. 支持包括 Windows、Linux 和 Mac 系統(tǒng)下運(yùn)行
          • codelite官網(wǎng)
          • dev-c++
          • Dev-C++是一個(gè)C&C++開(kāi)發(fā)工具,它是一款自由軟件,遵守GPL協(xié)議。
          • GCC
          • GCC 原名為 GNU C 語(yǔ)言編譯器(GNU C Compiler),因?yàn)樗局荒芴幚?C語(yǔ)言。GCC 很快地?cái)U(kuò)展,變得可處理 C++。之后也變得可處理 Fortran、Pascal、Objective-C、Java, 以及 Ada 與其他語(yǔ)言。

          Cache

          CMS

          DB

          eclipse

          FreeMarker

          hibernate

          html5

          ibatis

          java

          jquery

          js

          json

          Linux

          Log

          mail server

          mobile

          mysql

          oauth

          openID

          other

          PHP

          portal

          report

          Scheduler

          schema

          Security

          SOA

          spring

          struts

          UI原型設(shè)計(jì)

          w3c

          Wap

          webservice

          xml

          供應(yīng)鏈管理

          博客鏈接

          好網(wǎng)站

          工作流

          開(kāi)源網(wǎng)

          招聘

          插件下載

          操作系統(tǒng)

          構(gòu)建可伸縮的系統(tǒng)

          構(gòu)建工具

          測(cè)試

          • IETest
          • IE官網(wǎng)
          • OpenSTA
          • Siege
          • Siege是一個(gè)壓力測(cè)試和評(píng)測(cè)工具,設(shè)計(jì)用于WEB開(kāi)發(fā)這評(píng)估應(yīng)用在壓力下的承受能力

          游戲

          源碼托管

          經(jīng)營(yíng)

          資源

          金融/財(cái)務(wù)

          搜索

          •  

          最新評(píng)論

          主站蜘蛛池模板: 抚松县| 同仁县| 长治市| 雅安市| 习水县| 灌云县| 陆川县| 姚安县| 永清县| 四子王旗| 安阳市| 新龙县| 泸定县| 达孜县| 禄丰县| 延庆县| 永登县| 马山县| 汶川县| 崇义县| 土默特右旗| 宜都市| 含山县| 阳高县| 宁蒗| 独山县| 龙州县| 珲春市| 且末县| 江川县| 阳原县| 思茅市| 通化县| 余庆县| 龙井市| 即墨市| 陆良县| 玛多县| 定西市| 集安市| 闸北区|