lbom

          小江西

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            18 隨筆 :: 21 文章 :: 69 評論 :: 0 Trackbacks

          1、編寫log4j配置文件(如log.config):
          # Set root category priority to INFO and its only appender to CONSOLE.
          #log4j.rootCategory=INFO, FILE
          log4j.rootCategory=INFO, CONSOLE, LOGFILE

          # Set the enterprise logger category to FATAL and its only appender to CONSOLE.
          log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

          # CONSOLE is set to be a ConsoleAppender using a PatternLayout.
          log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
          log4j.appender.CONSOLE.Threshold=INFO
          log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
          log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n

          # LOGFILE is set to be a File appender using a PatternLayout.
          #WORKDIR setted by system.setProperty!
          log4j.appender.LOGFILE=org.apache.log4j.FileAppender
          log4j.appender.LOGFILE.File=${WORKDIR}/log/adapter.log
          log4j.appender.LOGFILE.Append=true
          log4j.appender.LOGFILE.Threshold=INFO
          log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
          log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

          2、使用LogServlet初始化log4j的配置參數(shù):
          package com.cait.adapter.servlet;

          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;

          public class LogServlet extends HttpServlet {

           /**
            *
            */
           private static final long serialVersionUID = -1837292475877367091L;

           static Logger logger = Logger.getLogger(LogServlet.class);

           public LogServlet() {
           }

           public void init(ServletConfig sc) throws ServletException {

            String prefix = "";
            if (sc != null) {
             prefix = sc.getServletContext().getRealPath("/");
            } else {
             prefix = "D:/Project_java/Any3Adapter/web";
            }
            String file = sc.getInitParameter("logConfigFile");
            
            if (System.getProperty("WORKDIR") == null) {
             System.setProperty("WORKDIR", prefix);
            }
            
            Properties props = new Properties();
            try {
             FileInputStream istream = new FileInputStream(prefix + file);
             props.load(istream);
             istream.close();
             String logFile = prefix + props.getProperty("log4j.appender.file.File");// 設(shè)置路徑
             props.setProperty("log4j.appender.file.File", logFile);
             PropertyConfigurator.configure(props);
            }
            catch (IOException e) {
             System.out.println("Could not read configuration file [" + file + "].");
             System.out.println("Ignoring configuration file [" + file + "].");
             return;
            }
           }

          }

          3、設(shè)置web.xml的servlet選項,保證配置被加載
           <servlet>
            <servlet-name>LogServlet</servlet-name>
            <servlet-class>com.cait.adapter.servlet.LogServlet</servlet-class>
            <init-param>
             <param-name>logConfigFile</param-name>
             <param-value>WEB-INF/config/log.config</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
           </servlet>

          4、測試用例:
          ....
             Logger log=Logger.getLogger(this.getClass());
             log.info("LogServlet Test:    testOK");
          ...
          posted on 2007-05-24 14:09 lbom 閱讀(1204) 評論(0)  編輯  收藏 所屬分類: 個人總結(jié)

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 大连市| 从化市| 洪洞县| 平舆县| 建湖县| 哈巴河县| 东光县| 铜鼓县| 大姚县| 交口县| 屏东市| 车致| 施秉县| 师宗县| 祥云县| 濮阳县| 卢湾区| 武安市| 翁源县| 藁城市| 南乐县| 高陵县| 肇州县| 都江堰市| 禹城市| 清原| 江西省| 城固县| 衡水市| 彭泽县| 清徐县| 闸北区| 新余市| 寿光市| 镇坪县| 岑巩县| 九龙坡区| 自贡市| 清镇市| 揭东县| 万年县|