心無痕的博客

          常用鏈接

          統計

          積分與排名

          JAVA技術文檔

          JAVA精典網站

          開發工具

          數據庫

          最新評論

          學習使用java.util.logging.Logger類--轉載

          1.在程序里面寫死需要哪些log級別,使用哪些subscribe

          import java.util.logging.*;
          public class LoggingProgramSetPubSubpro
          {
           public static void main(String[] args)
           {
            Logger logger = Logger.getLogger("loggingTest");
            logger.setLevel(Level.INFO);//這個設定最重要
            
            ConsoleHandler consoleHandler = new ConsoleHandler();
            consoleHandler.setLevel(Level.OFF);//這個好像不起作用
            
            logger.addHandler(consoleHandler);
            
            logger.severe("嚴重訊息");
            logger.warning("警示訊息");
            logger.info("一般訊息");
            logger.config("設定方面的訊息");
            logger.fine("細微的訊息");
            logger.finer("更細微的訊息");
            logger.finest("最細微的訊息");
           }
          }

          2.如何在配置文件里面改,好處是不用重新編譯原文件

          import java.util.logging.*;
          /**

          說明:我們可以在C:\Documents and Settings\yay目錄下面找到java0.log文件
           它是一個xml格式的,
           我們可以在${jdk}\jar\lib下面找到logging.properties文件,你可以在這里面修改

           

          */
          public class LoggingPropertiesFile
           {
            public static void main(String[] args)
             {

              Logger logger = Logger.getLogger("loggingTest");
              logger.severe("嚴重的信息");
              logger.warning("警告信息");
              logger.info("一般信息");
              logger.config("設定方面的信息");
              logger.fine("細微的信息");
              logger.finer("更細微的信息");
              logger.finest("最細微的信息");
              

             }
           }

          3.使用log方法,使用自定義的Formatter

          import java.util.logging.*;
          /**

          輸出格式是由java.util.logging.Formatter決定的
          注意這里說得這個Formatter是屬于哪里包里面的,不要搞混了

          */
          public class LoggingLogMethod
          {
           public static void main(String[] args)
           {
            Logger logger = Logger.getLogger("loggingTest");
            logger.setLevel(Level.ALL);
            
            ConsoleHandler consoleHandler = new ConsoleHandler();
            consoleHandler.setLevel(Level.ALL);
            
            logger.addHandler(consoleHandler);
            
            try
            {
             //%h代表用戶主目錄
             //%g代表自動編號
             FileHandler  fileHandler=new FileHandler("%h/loggingHome%g.log");
             fileHandler.setLevel(Level.ALL);
             fileHandler.setFormatter(new YAYFormatter());
             
             
             logger.addHandler(fileHandler);
            }
            catch (Exception e)
            {
             e.printStackTrace();
            }
            
            
            
            logger.log(Level.SEVERE, "嚴重訊息");
            logger.log(Level.WARNING, "警示訊息");
            logger.log(Level.CONFIG, "一般訊息");
            logger.log(Level.CONFIG, "設定方面的訊息");
            logger.log(Level.FINE, "細微的訊息");
            logger.log(Level.FINER, "更細微的訊息");
            logger.log(Level.FINEST, "最細微的訊息");
           }
          }

          4.如何自定義java.util.logging.Formatter

          import java.util.logging.*;
          public class YAYFormatter extends Formatter
          {
           public String format(LogRecord logRecord)
           {
            return  "LogRecord info: " + logRecord.getSourceClassName() +//就是哪個類里面用的了你
             "\n" +"Level\t|\tLoggerName\t|\tMessage\t|\n" +
            logRecord.getLevel() + //是SEVERE還是WARNING還是別的
              "\t|\t" +
             logRecord.getLoggerName() +//這個logger發布者
               "\t|\t" +
             logRecord.getMessage() + //消息內容
                "\t|\n\n";   
           }
          }

          posted on 2008-03-07 19:27 心無痕 閱讀(9913) 評論(5)  編輯  收藏 所屬分類: JAVA

          評論

          # re: 學習使用java.util.logging.Logger類--轉載 2008-10-07 11:13 junphine

          如何通過配置文件配置logger?  回復  更多評論   

          # re: 學習使用java.util.logging.Logger類--轉載 2009-10-27 09:55 阿斯頓

          不錯  回復  更多評論   

          # re: 學習使用java.util.logging.Logger類--轉載 2009-10-27 14:12

          的是  回復  更多評論   

          # re: 學習使用java.util.logging.Logger類--轉載 2009-11-14 12:11 sean.he

          consoleHandler.setLevel(Level.OFF);//這個好像不起作用
          加上這行代碼就可以了
          logger.setUseParentHandlers(false);//不適用上級logger的Handler  回復  更多評論   

          # re: 學習使用java.util.logging.Logger類--轉載 2009-11-14 12:11 sean.he

          寫了錯別是
          logger.setUseParentHandlers(false);//不使用上級logger的Handler  回復  更多評論   

          主站蜘蛛池模板: 巴里| 吉林市| 永登县| 蓬安县| 浮山县| 曲阜市| 桑植县| 松潘县| 钦州市| 大余县| 南康市| 新绛县| 井研县| 平和县| 南溪县| 长春市| 沙坪坝区| 江都市| 新宾| 滨海县| 巴中市| 四平市| 郯城县| 墨竹工卡县| 广平县| 含山县| 上林县| 叙永县| 都江堰市| 吉木乃县| 阜城县| 乌兰察布市| 阜宁县| 肃宁县| 繁昌县| 元氏县| 腾冲县| 岳西县| 西城区| 兴安县| 井陉县|