posts - 93,  comments - 2,  trackbacks - 0
              轉自:http://musicbox95351.iteye.com/blog/868526
              比如項目為一個UserServlet,主要分三步
              1 日志輸出文件log4j.xml的配置。 
              2 加載日志配置文件的servlet類。 
              3 web.xml配置

              第一步:
              
           1<?xml version="1.0" encoding="UTF-8" ?>
           2<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
           3<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
           4<appender name="infoChannel"
           5  class="org.apache.log4j.RollingFileAppender">
           6  <!-- 設置通道file和輸出方式:org.apache.log4j.RollingFileAppender -->
           7  <param name="File" value="${catalina.home}/logs/tourist_guide_system_server.log" /><!-- 設置File參數:日志輸出文件名 -->
           8  <param name="Append" value="true" /><!-- 設置是否在重新啟動服務時,在原有日志的基礎添加新日志 -->
           9  <param name="MaxBackupIndex" value="10" />
          10  <param name="MaxFileSize" value="10KB"/>
          11  <layout class="org.apache.log4j.PatternLayout">
          12   <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n" /><!-- 設置輸出文件項目和格式 -->
          13  </layout>
          14  <filter class="org.apache.log4j.varia.LevelRangeFilter">
          15      <param name="LevelMin" value="INFO" /><!--設置將INFO級別的日志通過該通道輸出-->
          16      <param name="LevelMax" value="INFO" />
          17  </filter>
          18</appender>
          19<appender name="debugChannel"
          20  class="org.apache.log4j.RollingFileAppender">
          21  <!-- 設置通道file和輸出方式:org.apache.log4j.RollingFileAppender -->
          22  <param name="File" value="${catalina.home}/logs/testdebug.log" /><!-- 設置File參數:日志輸出文件名 -->
          23  <param name="Append" value="true" /><!-- 設置是否在重新啟動服務時,在原有日志的基礎添加新日志 -->
          24  <param name="MaxBackupIndex" value="10" />
          25  <param name="MaxFileSize" value="10KB"/>
          26  <layout class="org.apache.log4j.PatternLayout">
          27   <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n" /><!-- 設置輸出文件項目和格式 -->
          28  </layout>
          29  <filter class="org.apache.log4j.varia.LevelRangeFilter">
          30      <param name="LevelMin" value="DEBUG" />
          31      <param name="LevelMax" value="DEBUG" />
          32  </filter>
          33</appender>
          34<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
          35                <!-- 設置監視器輸出方式 -->
          36  <layout class="org.apache.log4j.PatternLayout">
          37   <param name="ConversionPattern"
          38    value="%-4r [%t] %-5p %c %x - %m%n" />
          39  </layout>
          40                <!--濾鏡設置輸出的級別-->
          41  <filter class="org.apache.log4j.varia.LevelRangeFilter">
          42   <param name="levelMin" value="info" />
          43   <param name="levelMax" value="info" />
          44   <param name="AcceptOnMatch" value="true" />
          45  </filter>
          46</appender>
          47
          48<root>
          49  <!--設置輸出的級別大于等于DEGUG priority value="DEBUG" / -->
          50  <!--設置輸出的級別-->
          51  <priority value="INFO" />
          52  <!-- 設置接收所有輸出的通道 -->
          53  <appender-ref ref="debugChannel" />
          54  <appender-ref ref="infoChannel" /><!-- 與前面的通道id相對應 -->
          55  <appender-ref ref="STDOUT" />
          56</root>
          57
          58</log4j:configuration>

              第二步:

          1
          2import java.io.IOException;
          3
          4import javax.servlet.ServletException;
          5import javax.servlet.http.HttpServlet;
          6import javax.servlet.http.HttpServletRequest;
          7import javax.servlet.http.HttpServletResponse;
          8
          9import org.apache.log4j.xml.DOMConfigurator;
          10import org.slf4j.Logger;
          11import org.slf4j.LoggerFactory;
          12
          13public class UserServlet extends HttpServlet {
          14 private static final Logger log = LoggerFactory.getLogger(UserServlet.class);
          15 public UserServlet(){}
          16
          17 public void init() throws ServletException {
          18 log.info("Initializing, My MyActionServlet init this System's Const Variable");
          19 String prefix = this.getServletConfig().getServletContext().getRealPath("/");//讀取項目的路徑
          20 String file = this.getServletConfig().getInitParameter("log4j");//讀取log4j相對路徑
          21 String filePath = prefix + file;
          22 DOMConfigurator.configure(filePath);//加載.xml文件
          23 log.info("Initializing, end My Init");
          24 super.init();//此方法不能省,ActionServlet覆蓋了的此方法中有很多重要操作
          25 }

          26}


              第三步:web.xml文件中增加servlet配置 
          1<servlet>
          2 <servlet-name>userServlet</servlet-name>
          3 <servlet-class>com.richhouse.servlet.UserServlet</servlet-class>
          4 <init-param>
          5 <param-name>log4j</param-name>
          6 <!-- 這里標出了位置 -->
          7 <param-value>/WEB-INF/log4j.xml</param-value>
          8 </init-param>
          9 <load-on-startup>1</load-on-startup>
          10 </servlet>
          11 <servlet-mapping>
          12 <servlet-name>userServlet</servlet-name>
          13 <url-pattern>/userServlet</url-pattern>
          14 </servlet-mapping>

          posted on 2014-05-26 11:13 Terry Zou 閱讀(1429) 評論(0)  編輯  收藏 所屬分類: Tomcat+Eclipse
          <2014年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          Java

          搜索

          •  

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 阿图什市| 滦南县| 邯郸县| 湘潭县| 淮滨县| 衡南县| 绩溪县| 白沙| 观塘区| 丽江市| 阿拉善右旗| 定襄县| 普安县| 罗城| 陈巴尔虎旗| 民和| 德昌县| 武夷山市| 镇巴县| 玉门市| 疏勒县| 三原县| 安新县| 乌拉特后旗| 平原县| 南康市| 武强县| 民和| 鹿邑县| 牟定县| 英德市| 阿尔山市| 长武县| 泰和县| 岳普湖县| 德惠市| 获嘉县| 内江市| 东乡族自治县| 涞水县| 如皋市|