亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jzjlogger.java

?? ∥顯示數據文件未壓縮大小及壓縮大小單行文本顯示域存儲隨機生成的數據
?? JAVA
字號:
package org.jr.jzj;

/**
 * <p>Copyright: Copyright (c) 2002-2003</p>
 * <p>Company: JavaResearch(http://www.javaresearch.org)</p>
 * <p>最后更新日期:2003年1月9日
 * @author Cherami,Barney,Brain
 * @version 0.8
 */

import java.io.*;
import java.util.*;
import java.util.logging.*;
import java.util.prefs.*;

/**
 * 系統的日志管理器,負責整個系統的日志的控制和維護。
 * <p><b>由于將管理器和類實例放在了同一個類來表達,因此不是很合適,以后會進行重構和分離。</b>
 * <p>由于有很多的日志工具,因此使用這個類進行封裝方便以后更改底層的實現方式。
 * <p>目前使用的是JDK1.4的java.util.logging.Logger類。
 */
public class JZJLogger {
  private static FileHandler logFileHandler; //日志文件處理器
  private static Level level; //日志記錄級別
  private static ArrayList loggers = new ArrayList(); //管理器管理的所有日志類實例列表
  private static boolean inited = false; //日志管理器是否完成初始化標志
  private Logger logger; //實際的日志類實例
  private static JZJLogger globalLogger; //全局日志類實例,完成系統信息的記錄
  private static String logFileName = "JZJlogs.log"; //日志文件的文件名
  private String name; //日志類的類名
  private static boolean isDebugable = true; //是否輸出調試信息
  Preferences preference = JZipJar.preference;
  public static final int OFF = 0;
  public static final int ALL = 1;
  public static final int WARNING = 4;
  public static final int ERROR = 8;
  /**
   * 構造方法,在管理器沒有初始化時應該進行缺省初始化。
   * @param c 日志實例的類名
   */
  public JZJLogger(Class c) {
    //日志管理器在沒有初始化時進行缺省初始化
    if (!inited) {
      init(null, ALL, true);
    }
    name = c.getName();
    logger = Logger.getLogger(name);
    logger.addHandler(logFileHandler);
    loggers.add(logger);
    logger.setLevel(level);
    if (globalLogger != null) {
      globalLogger.info("new JZJLogger:" + name);
    }
  }

  /**
   * 得到日志實例的名稱(類名)。
   * @return 日志實例的名稱
   */
  public String getName() {
    return name;
  }

  /**
   * 日志管理器的初始化方法。
   * @param fileName 日志文件的文件名
   * @param level 日志記錄的級別
   * @throws IOException 在日志文件生成出錯的情況下拋出異常
   */
  public static void init(String fileName, int level) {
    init(fileName, level, true);
  }

  /**
   * 日志管理器的初始化方法。
   * @param fileName 日志文件的文件名
   * @param level 日志記錄的級別
   * @param isDebugable 是否輸出調試信息
   * @throws IOException 在日志文件生成出錯的情況下拋出異常
   */
  public static void init(String fileName, int level, boolean isDebugable) {
    if (!inited) {
      try {
        setFileHandler(fileName);
      }
      catch (IOException e) {

      }
      setLevel(getLevel(level));
      JZJLogger.isDebugable = isDebugable;
      inited = true;
      globalLogger = new JZJLogger(JZJLogger.class);
      globalLogger.info("JZJLogger initialize." + "\tlog file:" + fileName +
                        ".\tlevel:" + level);
    }
  }

  private static Level getLevel(int level) {
    switch (level) {
      case OFF:
        return Level.OFF;
      case ALL:
        return Level.ALL;
      case WARNING:
        return Level.WARNING;
      case ERROR:
        return Level.SEVERE;
      default:
        return Level.OFF;
    }

  }

  /**
   * 得到日志實例的實際的底層的日志類實例。
   * @return 實際的底層的日志類實例
   */
  protected Logger getLogger() {
    return logger;
  }

  /**
   * 設置日志信息的格式。
   * @param formatter 格式實例
   */
  public static void setFormatter(Formatter formatter) {
    logFileHandler.setFormatter(formatter);
  }

  /**
   * 設置系統的日志文件處理器。
   * @param fileName 日志文件的文件名
   * @throws IOException 創建日志文件出錯時拋出此異常
   */
  private static void setFileHandler(String fileName) throws IOException {
    setFileHandler(fileName, new SimpleFormatter());
  }

  /**
   * 設置系統的日志文件處理器。
   * @param fileName 日志文件的文件名
   * @param formatter 格式實例
   * @throws IOException 創建日志文件出錯時拋出此異常
   */
  private static void setFileHandler(String fileName, Formatter formatter) throws
      IOException {
    if (fileName != null) {
      logFileName = fileName;
    }
    logFileHandler = new FileHandler(logFileName);
    setFormatter(formatter);
  }

  /**
   * 設置日志記錄的級別。
   * @param level 日志記錄的級別
   */
  public static void setLevel(Level level) {
    JZJLogger.level = level;
    Iterator iterator = loggers.iterator();
    while (iterator.hasNext()) {
      JZJLogger log = (JZJLogger) iterator.next();
      log.logger.setLevel(level);
    }

  }

  /**
   * 將信息作為錯誤寫入日志。
   * @param message 錯誤信息
   */
  public void error(String message) {
    logger.severe(message);
  }

  /**
   * 將信息作為警告寫入日志。
   * @param message 警告信息
   */
  public void warning(String message) {
    logger.warning(message);
  }

  /**
   * 將信息寫入日志。
   * @param message 信息
   */

  public void info(String message) {
    logger.info(message);
  }

  /**
   * 是否輸出調試信息并寫入日志。
   * @return 輸出時返回true,否則返回false
   */
  public static boolean isDebugable() {
    return isDebugable;
  }

  /**
   * 設置是否輸出調試信息并寫入日志。
   * @param isDebugable 是否輸出調試信息并寫入日志
   */
  public static void setDebugable(boolean isDebugable) {
    JZJLogger.isDebugable = isDebugable;
  }

  /**
   * 將調試信息輸出并寫到日志,但是如果管理器不運行輸出調試信息的情況下此方法沒有任何作用。
   * @param message 調試信息
   */
  public void debug(String message) {
    if (isDebugable) {
      logger.info(message);
    }
  }

  /**
   * 將調試信息輸出并寫到日志,但是如果管理器不運行輸出調試信息的情況下此方法沒有任何作用。
   * @param message 整型的調試信息
   */
  public void debug(int message) {
    if (isDebugable) {
      logger.info(String.valueOf(message));
    }
  }

  /**
   * 將調試信息輸出并寫到日志,但是如果管理器不運行輸出調試信息的情況下此方法沒有任何作用。
   * @param message 調試信息,實際寫入的是對象的toString方法得到的字符串
   */
  public void debug(Object message) {
    if (isDebugable) {
      if (message != null) {
        logger.info(message.toString());
      }
      else {
        logger.info("null");
      }
    }
  }

  //TODO 其他的debug方法,需要一整套,目前只使用到以上幾個
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级电影在线观看| 国产精品毛片久久久久久久| 久久久久久久久99精品| 一区二区三区av电影| 韩国一区二区三区| 欧美日韩综合色| 综合网在线视频| 国产资源在线一区| 777久久久精品| 亚洲精品高清在线观看| 国产精品白丝jk白祙喷水网站 | 国产精品18久久久久久久久久久久| 色噜噜狠狠色综合欧洲selulu| 国产午夜精品福利| 久久99精品久久久| 精品入口麻豆88视频| 日日摸夜夜添夜夜添国产精品 | 国产成人午夜99999| 91精品午夜视频| 婷婷六月综合网| 欧美日韩一区不卡| 亚洲国产精品影院| 在线视频你懂得一区| 国产精品久久久久9999吃药| 国产成人亚洲综合a∨婷婷| 久久在线观看免费| 狠狠色2019综合网| 亚洲精品一区在线观看| 日本成人在线电影网| 欧美福利一区二区| 美女免费视频一区二区| 8x福利精品第一导航| 日韩精品久久久久久| 欧美一区二区三级| 久久国产精品99久久久久久老狼 | 欧美va亚洲va在线观看蝴蝶网| 五月综合激情日本mⅴ| 欧美日韩一区二区三区高清| 午夜精品一区二区三区免费视频| 欧美在线观看视频在线| 亚洲一区在线观看网站| 欧美精品久久久久久久多人混战 | 国产精品久久久久久福利一牛影视| 国产成人精品综合在线观看| 国产嫩草影院久久久久| 91在线视频官网| 亚洲免费观看高清完整版在线观看熊 | 色婷婷综合久久久久中文一区二区| 亚洲视频免费观看| 欧美日韩综合在线| 毛片av一区二区| 国产欧美精品一区aⅴ影院 | 国产成人免费视频网站| 国产精品理论片在线观看| 色婷婷综合久久久久中文 | 成人免费高清视频在线观看| 中文字幕一区二区视频| 欧美巨大另类极品videosbest | 欧美日本一道本| 国产最新精品精品你懂的| 中文字幕在线一区| 欧美久久久一区| 国产suv精品一区二区三区| 一区二区三区精品视频在线| 欧美一区三区四区| 成人av资源下载| 日韩电影一二三区| 国产精品久久久久久久第一福利 | 久久久蜜桃精品| 一本一道综合狠狠老| 蜜桃视频第一区免费观看| 国产精品久久久久久久久快鸭 | 亚洲大片精品永久免费| 欧美videos中文字幕| 色吧成人激情小说| 韩国三级在线一区| 亚洲va天堂va国产va久| 中文字幕av在线一区二区三区| 欧美在线三级电影| 成人福利在线看| 99久久99久久精品国产片果冻| 日本sm残虐另类| 亚洲人成精品久久久久久| 欧美成人在线直播| 欧美三区在线视频| 成人av免费在线播放| 韩国毛片一区二区三区| 日韩精品欧美成人高清一区二区| 亚洲欧美综合色| 日韩精品一区二区三区在线播放| 欧美影片第一页| 99re这里只有精品6| 国产精品99久| 久久国产成人午夜av影院| 午夜影院久久久| 一区二区三区高清不卡| 成人欧美一区二区三区| 国产亚洲午夜高清国产拍精品 | 理论电影国产精品| 香蕉乱码成人久久天堂爱免费| 中文字幕在线一区免费| 日本一区二区三区高清不卡| 欧美精品一区二区精品网| 69av一区二区三区| 6080国产精品一区二区| 欧美精品一二三| 欧美日韩中字一区| 欧美日产在线观看| 欧美日本精品一区二区三区| 欧美视频中文字幕| 在线观看亚洲专区| 欧美亚洲丝袜传媒另类| 在线免费不卡电影| 精品视频在线免费看| 欧美色倩网站大全免费| 欧美日韩大陆在线| 欧美一区二区三区免费观看视频| 欧美一区二区在线不卡| 91精品国产综合久久久蜜臀粉嫩| 91精品国产一区二区人妖| 日韩免费观看2025年上映的电影 | 欧美巨大另类极品videosbest| 欧美丝袜丝nylons| 3d动漫精品啪啪1区2区免费 | 国产一二三精品| 国产一区中文字幕| 成人精品小蝌蚪| 色婷婷香蕉在线一区二区| 欧美视频日韩视频| 日韩三区在线观看| 久久视频一区二区| 成人欧美一区二区三区| 亚洲自拍偷拍麻豆| 久久国产剧场电影| 不卡一区二区在线| 欧美日韩1234| 久久久不卡影院| 亚洲精品videosex极品| 亚洲国产成人精品视频| 久久成人免费网站| bt欧美亚洲午夜电影天堂| 欧美亚洲国产一区在线观看网站 | 欧美大片在线观看一区二区| 国产亚洲一区字幕| 亚洲精品高清视频在线观看| 性做久久久久久免费观看| 国产一区福利在线| 色琪琪一区二区三区亚洲区| 日韩一级精品视频在线观看| 亚洲国产精华液网站w | 一区二区在线观看av| 日韩高清不卡一区二区三区| 国产白丝网站精品污在线入口| 日本久久精品电影| 精品国产一区二区三区忘忧草| 欧美高清在线精品一区| 五月婷婷激情综合| av亚洲精华国产精华精| 欧美一区二区黄| 亚洲精品国产a久久久久久| 国内久久婷婷综合| 欧美日韩成人在线一区| 国产精品电影一区二区| 韩日欧美一区二区三区| 欧美性xxxxx极品少妇| 国产欧美精品区一区二区三区| 婷婷中文字幕一区三区| 色一区在线观看| 久久久国产精品不卡| 奇米影视在线99精品| 日本久久一区二区三区| 国产精品人成在线观看免费 | 奇米888四色在线精品| 95精品视频在线| 国产午夜三级一区二区三| 丝袜诱惑制服诱惑色一区在线观看| 成人性生交大片免费看视频在线| 日韩一区二区电影在线| 亚洲高清视频的网址| 91在线播放网址| 国产精品无遮挡| 国产精品综合网| 久久一区二区三区四区| 欧美aaa在线| 欧美日本免费一区二区三区| 夜夜精品浪潮av一区二区三区| av电影一区二区| 国产精品久久久99| 成人av在线网| 国产精品女上位| 成人一区二区在线观看| 久久免费看少妇高潮| 黑人精品欧美一区二区蜜桃| 欧美videos中文字幕| 久久电影国产免费久久电影| 精品免费99久久| 国产激情视频一区二区在线观看 | 夜夜夜精品看看| 在线观看视频一区二区| 亚洲永久精品大片|