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

          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 凌晨風 閱讀(2104) 評論(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)

          我參與的團隊

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          新聞分類

          新聞檔案

          收藏夾

          圍脖

          最新隨筆

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 江陵县| 德江县| 都安| 马尔康县| 蒙城县| 镇平县| 万盛区| 平顶山市| 六安市| 昌乐县| 阿拉善左旗| 张家川| 万盛区| 赤峰市| 金沙县| 天气| 舞阳县| 大兴区| 饶平县| 霍城县| 岳阳县| 大方县| 买车| 庆元县| 汶川县| 布尔津县| 涿鹿县| 松原市| 柘城县| 临澧县| 兴山县| 峨眉山市| 石渠县| 大姚县| 南江县| 利辛县| 康平县| 琼结县| 武冈市| 斗六市| 高尔夫|