var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-20738293-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script')"/>
<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

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

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

    jutleo
    歡迎走進有風的地方~~
    posts - 63,  comments - 279,  trackbacks - 0
    關于Log4j的使用看代碼吧!注釋寫的很詳細,苦于沒有運行日志信息的代碼,寫那些helloworld顯得不合適,寫出了五種遍歷List的方法,沒有專門的測試工具測試他們運行的效率,哪位要是能測試一下,煩請告訴具體情況!
    package org.bulktree.log4j;

    import java.util.ArrayList;
    import java.util.Date;
    import java.util.Iterator;
    import java.util.List;

    import org.apache.log4j.BasicConfigurator;
    import org.apache.log4j.Logger;

    public class Log4jTest {

        
    // 獲取日志記錄器
        static Logger logger = Logger.getLogger(Log4jTest.class);

        
    // static Logger logger = Logger.getLogger(Log4jTest.class.getName());

        Log4jTest() 
    {
            
    // 配置日志環境

            
    // 使用缺省Log4j環境
            BasicConfigurator.configure();
            
    // 讀取使用Java屬性文件編寫的配置文件
            
    // PropertyConfigurator.configure("log4j.properties");
            
    // 讀取XML形式的配置文件
            
    // DOMConfigurator.configure(String filename);
        }


        
    public static void main(String[] args) {

            logger.debug(
    "Log4jTest-->>debug");
            logger.info(
    "Log4jTest-->>info");
            logger.warn(
    "Log4jTest-->>warn");
            logger.error(
    "Log4jTest-->>error");

            System.out.println(
    "************test****************");

            List
    <String> list = new ArrayList<String>();

            list.add(
    "BULKTREE");
            logger.debug(
    "debug-->>List Success! " + "list information: " + list);
            logger.info(
    "info-->>List Success! " + "list information: " + list);
            logger.warn(
    "warn-->>List Success! " + "list information: " + list);
            logger.error(
    "error-->>List Success! " + "list information: " + list);

            list.add(
    "LAOSHULIN");
            logger.debug(
    "debug-->>List Success! " + "list information: " + list);
            logger.info(
    "info-->>List Success! " + "list information: " + list);
            logger.warn(
    "warn-->>List Success! " + "list information: " + list);
            logger.error(
    "error-->>List Success! " + "list information: " + list);

            list.add(
    "OAKERTREE");
            logger.debug(
    "debug-->>List Success! " + "list information: " + list);
            logger.info(
    "info-->>List Success! " + "list information: " + list);
            logger.warn(
    "warn-->>List Success! " + "list information: " + list);
            logger.error(
    "error-->>List Success! " + "list information: " + list);

            list.add(
    "BULKTREE.LAOSHULIN.OAKERTREE");
            logger.debug(
    "debug-->>List Success! " + "list information: " + list);
            logger.info(
    "info-->>List Success! " + "list information: " + list);
            logger.warn(
    "warn-->>List Success! " + "list information: " + list);
            logger.error(
    "error-->>List Success! " + "list information: " + list);

            Log4jTest lt 
    = new Log4jTest();
            lt.firstReadList(list);
            lt.secendReadList(list);
            lt.threeReadList(list);
            lt.fourReadList(list);
            lt.fiveReadList(list);
        }


        
    public void firstReadList(List<String> list) {
            
    for (Iterator<String> iter = list.iterator(); iter.hasNext();) {

                String str 
    = iter.next();
                logger.debug(
    "debug-->>Iterator have next element:" + str);
                logger.info(
    "info-->>Iterator have next element:" + str);
                logger.warn(
    "warn-->>Iterator have next element:" + str);
                logger.error(
    "error-->>Iterator have next element:" + str);

                System.out.println(
    "*********" + str);
            }

        }


        
    public void secendReadList(List<String> list) {
            
    for (int i = 0; i < list.size(); i++{

                String str 
    = list.get(i);
                logger.debug(
    "debug-->>Iterator have next element:" + str);
                logger.info(
    "info-->>Iterator have next element:" + str);
                logger.warn(
    "warn-->>Iterator have next element:" + str);
                logger.error(
    "error-->>Iterator have next element:" + str);

                System.out.println(
    "========" + str);
            }

        }


        
    public void threeReadList(List<String> list) {
            
    for (String str : list) {
                logger.debug(
    "debug-->>Iterator have next element:" + str);
                logger.info(
    "info-->>Iterator have next element:" + str);
                logger.warn(
    "warn-->>Iterator have next element:" + str);
                logger.error(
    "error-->>Iterator have next element:" + str);

                System.out.println(
    "&&&&&&&&" + str);
            }

        }


        
    public void fourReadList(List<String> list) {
            
    for (int i = 0, a = list.size(); i < a; i++{

                String str 
    = list.get(i);
                logger.debug(
    "debug-->>Iterator have next element:" + str);
                logger.info(
    "info-->>Iterator have next element:" + str);
                logger.warn(
    "warn-->>Iterator have next element:" + str);
                logger.error(
    "error-->>Iterator have next element:" + str);

                System.out.println(
    "########" + str);
            }

        }


        
    public void fiveReadList(List<String> list) {
            Iterator
    <String> iter = list.iterator();
            
    while (iter.hasNext()) {

                String str 
    = iter.next();
                logger.debug(
    "debug-->>Iterator have next element:" + str);
                logger.info(
    "info-->>Iterator have next element:" + str);
                logger.warn(
    "warn-->>Iterator have next element:" + str);
                logger.error(
    "error-->>Iterator have next element:" + str);

                System.out.println(
    "$$$$$$$$" + str);
            }

        }

    }



    # An example log4j configuration file that outputs to System.out.  The
    # output information consists of relative time, log level, thread
    # name, logger name, nested diagnostic context and the message in that
    # order.

    # For the general syntax of property based configuration files see the
    # documenation of org.apache.log4j.PropertyConfigurator.

    #配置根Logger,語法為:log4j.rootLogger=[level],appenderName,appenderName,.
    #level是日志記錄器的優先級,Log4j建議只使用四個級別,從高到低分別是ERROR,
    #WARN,INFO,DEBUG,通過在這里定義的級別,您可以控制到應用程序中相應級別的日志信息的開關。
    #比如在這里定義了INFO級別,則應用程序中所有DEBUG級別的日志信息將不被打印出來
    #appenderName指的是制定日志信息輸出到哪個地方
    #A1標識輸出控制臺,A2標識輸出到日志文件
    log4j.rootLogger=DEBUG, A1,A2
    #Log4j提供的appender有以下幾種: 
    #org.apache.log4j.ConsoleAppender(控制臺) 
    #org.apache.log4j.FileAppender(文件)
    #org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件)
    #org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件) 
    #org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方
    # A1 is set to be a ConsoleAppender which outputs to System.out. 
    log4j.appender.A1=org.apache.log4j.ConsoleAppender
    log4j.appender.A2=org.apache.log4j.RollingFileAppender
    log4j.appender.A2.File=Log4jTest.log
    #如果超過20KB則自動新建一個文件,文件名后面自動加序號
    log4j.appender.A2.MaxFileSize=20KB

    # A1 uses PatternLayout.
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout

    # The conversion pattern uses format specifiers. You might want to
    # change the pattern an watch the output format change.
    log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n

    # In this example, we are not really interested in INNER loop or SWAP
    # messages. See the effects of uncommenting and changing the levels of
    # the following loggers.
    # log4j.logger.org.apache.log4j.examples.SortAlgo.INNER=WARN
    # log4j.logger.org.apache.log4j.examples.SortAlgo.SWAP=WARN

    # Keep one backup file
    log4j.appender.A2.MaxBackupIndex=1
    log4j.appender.A2.layout=org.apache.log4j.PatternLayout
    log4j.appender.A2.layout.ConversionPattern=%p %t %c - %m%n
    # Print only messages of level WARN or above in the package com.foo.
    log4j.logger.org.bulktree=DEBUG
     
    posted on 2008-08-13 13:59 凌晨風 閱讀(2102) 評論(6)  編輯  收藏 所屬分類: Java學習筆記

    FeedBack:
    # re: Log4j的使用
    2008-08-14 11:37 | 異次元
    不錯,收藏了  回復  更多評論
      
    # re: Log4j的使用
    2008-08-14 17:39 | KingBack
    不錯, 收藏

    想請教一下晨風: 我看過你那遍關于 struts2 中 select tag的用法之后, 還不是很明白, 自己試做也沒能成功, 能否請你把有關 select tag的用法詳細解釋一下呢? Thanks!  回復  更多評論
      
    # re: Log4j的使用
    2008-08-14 20:36 | 凌晨風
    http://struts.apache.org/2.1.2/docs/select.html這個是List tag的詳細介紹。List tag只有list屬性是必須的,
    request范圍內有個List集合(student)里裝著所有學生的姓名,你應該這樣遍歷:<s:select list="student" name="selectTest" />
    這樣僅限于展示出數據。
    你可以對照著HTML:
    <select name="selectTest">
    <option value="">請選擇</option>
    <option value="0">bulktree</option>
    <option value="1">oakertree</option>
    <option value="2">laoshulin</option>
    </select>
      回復  更多評論
      
    # re: Log4j的使用
    2008-08-14 20:47 | 凌晨風
    當你把數據展示出來后要是還需要下一步的傳輸,在下一個頁面獲得select中選中的值,Example:request.getParameter("selectTest");對于HTML值為0對應顯示是"bulktree",而Struts2 List Tags,則是listKey對應ListValue,headerKey對應headerValue  回復  更多評論
      
    # re: Log4j的使用
    2008-08-15 09:33 | KingBack
    Great! I had resolved the problem. Thanks a lot :)

    Cause is not initialize List, after i had initialized it in execute method, i run it successfully.

    Thanks again.  回復  更多評論
      
    # re: Log4j的使用[未登錄]
    2009-03-11 15:59 | Raul
    打個時間戳看看執行效率唄  回復  更多評論
      

    <2008年8月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    常用鏈接

    留言簿(11)

    我參與的團隊

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    新聞分類

    新聞檔案

    收藏夾

    圍脖

    最新隨筆

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 91精品全国免费观看含羞草| 午夜视频免费观看| 亚洲va成无码人在线观看| 日韩一级视频免费观看| 91视频免费观看| 91在线亚洲综合在线| 亚洲人成影院在线观看| 波多野结衣中文字幕免费视频 | 欧洲人成在线免费| 亚洲av永久无码精品天堂久久| 国产传媒在线观看视频免费观看| 久久精品成人免费看| 亚洲Av永久无码精品一区二区| 亚洲乱码国产乱码精品精| 免费可以在线看A∨网站| 好吊色永久免费视频大全| 亚洲中文字幕久在线| 一本久久综合亚洲鲁鲁五月天| 久久国产精品成人片免费| 日韩毛片一区视频免费| 亚洲乱码在线视频| 国产l精品国产亚洲区在线观看| 大香人蕉免费视频75| 99精品视频免费观看| 一日本道a高清免费播放| 亚洲午夜无码毛片av久久京东热| 亚洲人成网77777亚洲色| 国产成人3p视频免费观看| 114级毛片免费观看| a在线视频免费观看| 污网站在线免费观看| 亚洲中文字幕久久精品无码VA| 久久久久久亚洲AV无码专区| 亚洲熟女乱综合一区二区| 亚洲国产一成久久精品国产成人综合 | 毛片免费在线视频| 久久一区二区三区免费播放 | 你懂的网址免费国产| 色多多免费视频观看区一区| 亚洲看片无码在线视频| 亚洲男人电影天堂|