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

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

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

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    拾遺補缺-logger

    Posted on 2009-11-02 15:03 瘋狂 閱讀(302) 評論(0)  編輯  收藏 所屬分類: java
    java.util.logging.Logger的使用
    2009-07-22 20:13

    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";   
    }
    }

    主站蜘蛛池模板: 亚洲人成网站18禁止| 亚洲午夜电影一区二区三区| 国产av无码专区亚洲av毛片搜| 免费福利网站在线观看| 亚洲国产精品美女| 亚洲毛片av日韩av无码| 亚洲aⅴ天堂av天堂无码麻豆| 久久久久久免费视频| 美女视频黄免费亚洲| 免费网站看v片在线香蕉| 亚洲日韩国产AV无码无码精品 | 免费A级毛片无码专区| 亚洲AV永久青草无码精品| 日韩精品在线免费观看| 亚洲理论片在线中文字幕| 无码精品A∨在线观看免费| 亚洲欧洲日产国码久在线| 亚洲av无码不卡私人影院| 成人自慰女黄网站免费大全 | 亚洲伊人久久大香线蕉| 99精品国产免费久久久久久下载| 亚洲日韩av无码中文| 狠狠色婷婷狠狠狠亚洲综合| 日韩免费的视频在线观看香蕉| 激情五月亚洲色图| 免费一级毛片在播放视频| 久久免费线看线看| 亚洲高清视频在线| 中文字幕无码精品亚洲资源网| 67pao强力打造高清免费| 韩国亚洲伊人久久综合影院| 亚洲国产精品一区第二页| 国产h视频在线观看免费| 黄色网页免费观看| 久久亚洲AV成人无码国产| 国产麻豆免费观看91| 日本在线免费观看| 亚洲AV无码片一区二区三区| 久久精品国产亚洲AV麻豆不卡| 搡女人免费视频大全| APP在线免费观看视频|