<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2EE社區(qū)

    茍有恒,何必三更起五更眠;
    最無(wú)益,只怕一日曝十日寒.
    posts - 241, comments - 318, trackbacks - 0, articles - 16

    log4j 配置 使用教程 例子

    Posted on 2009-09-04 17:07 xcp 閱讀(8832) 評(píng)論(4)  編輯  收藏 所屬分類(lèi): JAVA

    一、log4j使用步驟(重點(diǎn)在使用過(guò)程和初始化):
    1.將log4j.jar相關(guān)包放到j(luò)sp-examples\WEB-INF\lib下;
    2.在classpath下面建立log4j.properties;
    3.完善log4j.properties內(nèi)容:
      

    log4j.rootLogger=warn, stdout,A1

    #配置輸出到控制臺(tái)
    log4j.appender.stdout
    =org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout
    =org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern
    =(%F:%L) - %m%n

    log4j.appender.A1
    =org.apache.log4j.DailyRollingFileAppender 
    log4j.appender.A1.layout
    =org.apache.log4j.HTMLLayout
    log4j.appender.A1.File
    =${webappHome}/logs/${date}_log.html
    log4j.appender.A1.MaxFileSize
    = 100KB


       具體log4j.properties的配置方法參見(jiàn)http://hi.baidu.com/276668688/blog/item/e8d2fc1fdd8818c1a786698d.html
    4.初始化log4j的配置文件:有兩種方法
       方法一:
        a.新建一個(gè)初始化類(lèi),一般用Servlet或過(guò)濾器Log4JInit.java
                    

    package log4j; 
    import java.io.*
    import javax.servlet.*
    import javax.servlet.http.*
    import org.apache.log4j.*;

    public class Log4JInit extends HttpServlet {
       
    public void init() throws ServletException{
           String prefix 
    = getServletContext().getRealPath("/"); 
           String test 
    = getServletContext().getRealPath(""); 
           System.out.println(prefix); 
           System.out.println(test); 
          
           System.setProperty(
    "webappHome", test);
           String file 
    = getServletConfig().getInitParameter("log4j-config-file"); 
           System.out.println(prefix
    +file); 
           
    // 從Servlet參數(shù)讀取log4j的配置文件 
            if (file != null
             PropertyConfigurator.configure(prefix 
    + file); 
           
           }

       }

    }
     
         注意:System.setProperty("webappHome", test);”這行代碼要出現(xiàn)在“PropertyConfigurator.configure(prefix + file);”這行代碼之前;因?yàn)檫@樣才給"webappHome"設(shè)置值了,log4j.properties文件中的“log4j.appender.A1.file=${webappHome}/logs/tomcat_log_”中的“${webappHome}”這個(gè)環(huán)境變量才被賦值了,否則無(wú)法輸出日志文件;
         b.配置web.xml文件
         
    <servlet> 
       
    <servlet-name>log4jinit</servlet-name> 
       
    <servlet-class>log4j.Log4JInit</servlet-class> 
       
    <init-param> 
           
    <param-name> log4j-config-file </param-name> 
           
    <param-value>properties\log4j.properties</param-value> 
       
    </init-param> 
       
    <load-on-startup>1</load-on-startup> 
    </servlet>
         注意:上面的load-on-startup應(yīng)設(shè)為1,以便在Web容器啟動(dòng)時(shí)即裝入該Servlet。log4j.properties文件放在根的properties子目錄中,也可以把它放在其它目錄中。應(yīng)該把.properties文件集中存放,這樣方便管理。

       方法二、使用Spring已經(jīng)寫(xiě)好的過(guò)濾器
          a.配置web.xml
         
      <context-param>
        
    <param-name>log4jConfigLocation</param-name>
        
    <param-value>/WEB-INF/config/log4j.properties</param-value>
      
    </context-param>  
      
    <context-param>
        
    <param-name>log4jRefreshInterval</param-name>
        
    <param-value>6000</param-value>
      
    </context-param>
      
    <listener>
          
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
      
    </listener>

    5.在webapp中使用log4j
       主要建立一個(gè)屬性public static Logger logger = Logger.getLogger(Log4jTest.class);
        logger.debug("This is debug.");
        logger.info("This is an info.");
        logger.warn("This is a warning.");
        logger.error("This is an error.");
       logger.fatal("This is a fatal error.");

    6.在具體使用的時(shí)候如果觸發(fā)了異常,就在生成以日期命名的html日志文件tomcat_log_2007-03-05.html了!
      這個(gè)日志的格式可以在log4j.properties里面配置.......

    7.在這想請(qǐng)教高手一個(gè)問(wèn)題:如果我們一個(gè)項(xiàng)目開(kāi)始團(tuán)隊(duì),有多個(gè)成員,我想我一個(gè)成員都有自己的日志文件,以便于系統(tǒng)的維護(hù),應(yīng)該加肯定可以實(shí)現(xiàn),請(qǐng)高手賜教!!!


    名稱(chēng): ?4C.ESL | .↗Evon
    口號(hào): 遇到新問(wèn)題?先要尋找一個(gè)方案乄而不是創(chuàng)造一個(gè)方案こ
    mail: 聯(lián)系我


    Feedback

    # re: log4j 配置 使用教程 例子  回復(fù)  更多評(píng)論   

    2009-09-07 11:50 by ZUZG
    可以再log4j.properties中增加appender
    log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.A2.layout=org.apache.log4j.HTMLLayout
    log4j.appender.A2.File=${webappHome}/logs/${date}_log.html
    log4j.appender.A2.MaxFileSize= 100KB

    log4j.logger.com.myapp.module2=debug, A2

    類(lèi)似這樣增加多個(gè)appender

    試試。。。

    # re: log4j 配置 使用教程 例子  回復(fù)  更多評(píng)論   

    2009-09-07 14:00 by http://lifesinger.org/blog/page/2/
    http://lifesinger.org/blog/page/2/

    # re: log4j 配置 使用教程 例子[未登錄](méi)  回復(fù)  更多評(píng)論   

    2009-09-07 16:33 by test
    以下內(nèi)容僅僅是為了測(cè)試:
    www.flyworkd.com

    # re: log4j 配置 使用教程 例子  回復(fù)  更多評(píng)論   

    2014-09-19 22:23 by zuidaima
    log4j demo教程源代碼下載:http://zuidaima.com/share/klog4j-p1-s1.htm
    主站蜘蛛池模板: 久久精品国产亚洲av成人| 中文字幕精品无码亚洲字| 亚洲美女视频一区二区三区| 免费无码又爽又刺激一高潮| 久久国产成人精品国产成人亚洲 | 一本色道久久综合亚洲精品高清| 高潮毛片无遮挡高清免费视频| 四虎永久在线精品免费观看地址 | 亚洲乱码国产一区三区| 国产色爽免费无码视频| 亚洲国产精品久久久久婷婷软件| 人妻无码一区二区三区免费| 亚洲第一页在线播放| 免费国产作爱视频网站| 亚洲精品无码av片| 亚洲中文字幕成人在线| 中文无码成人免费视频在线观看| 亚洲电影一区二区| 成年女性特黄午夜视频免费看| 亚洲成a人无码亚洲成av无码| 亚洲av无码不卡私人影院| 伊人免费在线观看| 亚洲videos| 亚洲第一区精品日韩在线播放| 叮咚影视在线观看免费完整版| 亚洲一级片在线播放| 亚洲AV蜜桃永久无码精品| 暖暖免费日本在线中文| 久久亚洲精品国产亚洲老地址| 亚洲综合久久夜AV | 最近2019中文字幕免费直播 | 日本高清免费不卡在线| 国产久爱免费精品视频| 亚洲欧洲在线播放| 午夜亚洲av永久无码精品| 久久国产免费一区| 亚洲av无码一区二区三区在线播放| 久久99亚洲综合精品首页 | 精品一区二区三区免费观看| 久久亚洲AV无码精品色午夜麻豆| 日韩免费观看的一级毛片|