<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 | ###

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


    網站導航:
     
    主站蜘蛛池模板: 毛片a级毛片免费播放下载| 免费无码H肉动漫在线观看麻豆| 中文字幕在线观看免费视频 | 久久午夜免费鲁丝片| 久久精品国产亚洲5555| 一级毛片大全免费播放| 亚洲日韩精品无码专区网站| 美女露隐私全部免费直播| 国产一区二区三区免费视频| 免费的黄色的网站| 亚洲中文字幕不卡无码| 18禁在线无遮挡免费观看网站| 亚洲精品无码不卡| 国产精品久久免费| 亚洲熟妇AV乱码在线观看| 免费国产在线观看不卡| 亚洲一级片免费看| 久久亚洲国产成人精品性色| 思思re热免费精品视频66| 亚洲av成本人无码网站| 亚洲综合激情另类专区| 日韩电影免费观看| 亚洲AV无码乱码在线观看代蜜桃| 日韩高清在线免费看| 中文字幕不卡免费视频| 亚洲精选在线观看| 国产在线a免费观看| 四虎精品成人免费视频| 亚洲AV日韩精品久久久久久| 久久久久国产精品免费免费搜索| jzzijzzij在线观看亚洲熟妇| 在线亚洲精品福利网址导航| 69视频免费观看l| 美女黄频免费网站| 亚洲一区综合在线播放| 免费无码又爽又高潮视频 | 亚洲av无码一区二区三区不卡| 亚洲一级毛片免费在线观看| jzzijzzij在线观看亚洲熟妇| 亚洲爆乳无码一区二区三区| 好吊妞788免费视频播放|