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的使用非常廣泛。在這個程序中程序讀取配置文件,配置文件內(nèi)容如下:
           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使用了單態(tài)設(shè)計模式,所以在同一個項目,的另外一個程序中也要打印日志。直接可以用:
          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版本的升高,已經(jīng)帶有非常好用的日志記錄API類,但是log4j的使用已經(jīng)深入人心。掌握log4j的使用是非常有必要的。
          posted on 2007-02-06 16:31 -274°C 閱讀(915) 評論(0)  編輯  收藏 所屬分類: JAVA

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網(wǎng)站

          關(guān)注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914173
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 五常市| 高台县| 津南区| 钟祥市| 江达县| 聊城市| 漳州市| 宜兰县| 五大连池市| 进贤县| 马尔康县| 石楼县| 太仓市| 惠东县| 灵川县| 大足县| 扶沟县| 新密市| 上杭县| 常宁市| 潍坊市| 朝阳市| 互助| 谷城县| 伊春市| 洛川县| 桃江县| 通化县| 青铜峡市| 策勒县| 泰宁县| 鄂温| 塔河县| 盈江县| 石景山区| 昌乐县| 无棣县| 渝北区| 内江市| 深水埗区| 新巴尔虎左旗|