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

          搜索

          •  

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 扶余县| 镇平县| 盐亭县| 三门峡市| 瑞昌市| 即墨市| 通榆县| 徐水县| 新安县| 杭锦旗| 泉州市| 博兴县| 六枝特区| 繁昌县| 峨眉山市| 尼玛县| 仙居县| 连州市| 沧源| 丹东市| 横峰县| 清新县| 张家界市| 区。| 卫辉市| 常州市| 平定县| 改则县| 广丰县| 巍山| 耒阳市| 东山县| 丰台区| 巫溪县| 云梦县| 阿拉善盟| 和政县| 石家庄市| 岐山县| 哈尔滨市| 乐山市|