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

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

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

    隨筆 - 18, 文章 - 0, 評論 - 8, 引用 - 0
    數據加載中……

    學習Log4j筆記

    今天花了一天的時間來配置Log4j,沒想到要那么多時間,還問了不少人,帖子也發了不少,不過最終還是搞定了,不過還有些問題,請高手幫我看看,多謝了。

    1.首先是配置簡單java project
    現在來看log4j.propertise
    #級別為DEBUG,二個輸出端,分別為stdout,R
    log4j.logger.helloappLogger=DEBUG, stdout, R

    #控制臺輸出
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p (%F:%L) - %m%n

    #保存到helloappLoggerlog.txt日志中,大小為100KB
    log4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=F:/code/eclipse/workspace/TestLo4j/log/helloappLoggerlog.txt
    log4j.appender.R.MaxFileSize=100KB
    log4j.appender.R.MaxBackupIndex=1
    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n

    java文件中用到日志
    package com;
    import org.apache.log4j.*;
    public class TestLog4j {
        static Logger logger = Logger.getLogger("helloappLogger");
        public static void main(String[] args) {
    //      PropertyConfigurator.configure("log4j.properties");
    //      如果.properties在當前目錄下可以省略,我放在項目根目錄下,和com包同目錄
            logger.debug("Debug ...");
            logger.info("Info ...");
            logger.warn("Warn ...");
            logger.error("Error ...");
        }
    }

    2.web project中配置log4j

    還是先來看log4j.perproties

    #級別為DEBUG,三個輸出端,分別為stdout,FILE,R
    log4j.logger.hello=DEBUG, stdout, FILE, R

    #stdout是在控制臺輸出
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p (%F:%L) - %m%n

    #保存在rolling_log_file.log日志中,appender是RollingFileAppender
    #需要注意的是File=F:/code/...,不要寫成\,這就一點害死我了
    log4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=F:/code/eclipse/workspace/TestCvs/WebRoot/WEB-INF/rolling_log_file.log
    log4j.appender.R.MaxFileSize=100KB
    log4j.appender.R.MaxBackupIndex=1
    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n

    #保存在log_file.log日志中,appender是FileAppender
    log4j.appender.FILE=org.apache.log4j.FileAppender
    log4j.appender.FILE.File=F:/code/eclipse/workspace/TestCvs/WebRoot/WEB-INF/log_file.log
    log4j.appender.FILE.Append=false
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.ConversionPattern=%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n

    之后要把它加入serlet中,和服務器一起啟動,方便其他程序使用

    public class Log4jServlet extends HttpServlet {
        public void init() throws ServletException {
            ServletContext sct = getServletContext();
            System.out.println("[Log4j]: The Root Path: " + sct.getRealPath("/"));
            System.out.println("[Log4j]: InitServlet init start...");
            PropertyConfigurator.configure(sct.getRealPath("/")
                  +getServletConfig().getInitParameter("propfile"));
            System.out.println("[Log4j]: InitServlet init over.");
        }
    }

    <servlet>
        <description>init log4j of servlet</description>
        <display-name>log4j servlet</display-name>
        <servlet-name>Log4jServlet</servlet-name>
        <servlet-class>com.testCvs.Log4jServlet</servlet-class>
        <init-param>
         <param-name>propfile</param-name>
         <param-value>/WEB-INF/log4j.properties</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    注:log4j.properties放在/WEB-INF下,servlet自動加載這個文件

    至此所有配置應該成功了,不過還是有些問題沒有解決好,問了幾個朋友也沒有得到好的答復,但是現在可以在控制臺和文件中輸出日志,基本功能達到了。還請各位有空給我看看這個錯誤,歡迎指正。

    錯誤如下:
    log4j:WARN No appenders could be found for logger (org.apache.jasper.compiler.JspRuntimeContext).
    log4j:WARN Please initialize the log4j system properly.

    posted on 2005-07-24 22:10 丑男 閱讀(9659) 評論(8)  編輯  收藏 所屬分類: Log4j

    評論

    # re: 學習Log4j筆記  回復  更多評論   

    看了你寫的很不錯.幫我解決了問題.
    報那個錯誤應該問題不大.
    我這里使用那個類加載log4j后竟然沒有報那個錯誤了.
    你可以試試把你寫在web.xml中的那段<servlet>....</servlet>放在struts的actionservlet的前面.
    這樣它就先加載log4j了.
    祝你好運.
    2005-08-05 18:22 | shaokun305

    # re: 學習Log4j筆記  回復  更多評論   

    TO:shaokun305
    多謝你的建議,但我沒有成功,還是會出現那個錯誤
    2005-08-05 22:53 | 丑男

    # re: 學習Log4j筆記  回復  更多評論   

    我也出現這種情況
    log4j:WARN No appenders could be found for logger (org.apache.catalina.session.M
    anagerBase).
    log4j:WARN Please initialize the log4j system properly.
    不知道什么原因,怎么也啟動不了,,
    不過重啟一個就可以了,郁悶!
    2006-09-19 10:56 | tea

    # re: 學習Log4j筆記  回復  更多評論   

    good artical,could we make a firend?Contact me:)MSN:smc@rjgrid.com.cn
    2007-05-22 14:49 | LightStaler

    # re: 學習Log4j筆記  回復  更多評論   

    @LightStaler
    過獎了,老早的寫了,好久沒更新了
    2007-05-23 01:20 | sunjavaer

    # re: 學習Log4j筆記  回復  更多評論   

    我也有類似情況:
    log4j:WARN No appenders could be found for logger (org.jnp.interfaces.NamingContext).
    log4j:WARN Please initialize the log4j system properly.
    我的解決方法是:
    第一行的log4j.logger.x=....改為:log4j.rootLogger=...
    試試看,估計是rootLogger可以截獲所有類的log,單獨的logger的范圍不夠大。
    2007-11-09 22:35 | popkev

    # re: 學習Log4j筆記  回復  更多評論   

    @shaokun305
    還是不可以阿?
    2007-12-30 21:26 | 咯個

    # re: 學習Log4j筆記  回復  更多評論   

    我也按照你的做法做了就是記錄不了日志
    2008-11-10 17:40 | ###

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


    網站導航:
     
    主站蜘蛛池模板: 免费无遮挡无码永久在线观看视频| 91精品国产免费入口| 成人免费看黄20分钟| 亚洲国产成人久久| 久久WWW免费人成一看片| 亚洲免费视频观看| 最新中文字幕免费视频| 亚洲熟女综合色一区二区三区| 18国产精品白浆在线观看免费| 亚洲午夜精品在线| 大学生美女毛片免费视频| 亚洲AV无码资源在线观看| 免费乱码中文字幕网站| 亚欧国产一级在线免费| 精品亚洲综合在线第一区| 免费国产99久久久香蕉| 亚洲成人黄色网址| 午夜小视频免费观看| 免费看美女午夜大片| 久久精品国产精品亚洲艾| 色老头永久免费网站| 亚洲AV无码国产剧情| 亚洲精品国产va在线观看蜜芽| 99re6在线精品免费观看| 亚洲bt加勒比一区二区| 免费无码A片一区二三区| 亚洲av无码一区二区三区天堂| 亚洲AV中文无码乱人伦在线视色 | 免费播放特黄特色毛片| 黄 色一级 成 人网站免费| 久久亚洲精品成人无码网站| 久久青草91免费观看| 亚洲人成网站18禁止久久影院| 69视频免费观看l| 在线亚洲v日韩v| 中文字幕一精品亚洲无线一区| 亚洲免费人成在线视频观看| 99亚洲精品高清一二区| 国产精品视频永久免费播放| 日本高清免费中文在线看| 国产亚洲综合色就色|