1 import java.util.*;
           2 import java.io.*;
           3 import org.apache.log4j.Logger;
           4 import org.apache.log4j.BasicConfigurator;
           5 import org.apache.log4j.PropertyConfigurator;
           6 import org.apache.log4j.Priority;
           7 
           8 public class TestLog4j
           9 {
          10     protected TestLog4j ()
          11     {        
          12        String path = System.getProperty ("user.dir",".");
          13        System.out.println("!!!!"+path);
          14         path += "\\..\\source\\TestLog4j\\log4j.properties";
          15         System.out.println ("???"+path);
          16         PropertyConfigurator.configure (path);
          17         Logger log = Logger.getLogger (getClass().getName ());
          18         log.info ("test in TestLog4j.java ");
          19       //  return logger;
          20     }
          21 }
          22 

          log4j的使用非常廣泛。在這個程序中程序讀取配置文件,配置文件內容如下:
           1 #log4j.rootLogger = DEBUG, A1
           2 log4j.rootLogger = INFO, A1
           3 #log4j.appender.A1 = org.apache.log4j.ConsoleAppender
           4 log4j.appender.A1 = org.apache.log4j.FileAppender
           5 #可以滾動
           6 log4j.appender.A1 = org.apache.log4j.RollingFileAppender
           7 log4j.appender.A1.File = c:\\example.log
           8 #到500k則將新建gisWS1.log 依此類推
           9 log4j.appender.A1.MaxFileSize=500KB
          10 #最多允許建立10個這樣的日志文件,當gisWS10.log滿500k 則重新覆蓋example1.log
          11 log4j.appender.A1.MaxBackupIndex=10
          12 log4j.appender.A1.layout = org.apache.log4j.PatternLayout
          13 #log4j.appender.A1.layout.ConversionPattern = %-4r [%t] %-5p %%- %m%n
          14 log4j.appender.A1.layout.ConversionPattern = [%d] [%t] %m%n

          配置文件的含義如注釋所言。
          log4j使用了單態設計模式,所以在同一個項目,的另外一個程序中也要打印日志。直接可以用:
          1 Logger logger = Logger.getLogger (Main.class.getName ());
          2         logger.debug ("Start of the main() in TestLog4j");
          3         logger.info ("Just testing a log message with priority set to INFO");
          4         logger.warn ("Just testing a log message with priority set to WARN");
          5         logger.error ("Just testing a log message with priority set to ERROR");
          6         logger.fatal ("Just testing a log message with priority set to FATAL");
          7         logger.log (Priority.WARN, "Testing a log message use a alternate form");
          8         logger.debug (TestLog4j.class.getName ());
          這樣日記配置全局起作用,日志也寫到一個地方的。
          雖然隨JDK版本的升高,已經帶有非常好用的日志記錄API類,但是log4j的使用已經深入人心。掌握log4j的使用是非常有必要的。
          posted on 2007-02-06 16:31 -274°C 閱讀(918) 評論(0)  編輯  收藏 所屬分類: JAVA

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 916109
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 巫溪县| 天水市| 无锡市| 台中县| 内黄县| 喀什市| 新津县| 六枝特区| 兖州市| 麻城市| 尼玛县| 巴马| 东城区| 栾城县| 巴彦淖尔市| 临西县| 鹰潭市| 石楼县| 伊金霍洛旗| 松阳县| 津南区| 瑞丽市| 鄂州市| 汶上县| 玛纳斯县| 台东县| 绥江县| 巴彦县| 华池县| 临湘市| 额济纳旗| 金乡县| 镇远县| 陈巴尔虎旗| 清苑县| 福州市| 南召县| 千阳县| 镇坪县| 尼木县| 普格县|