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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? category.java

?? apache的log4j源碼
?? JAVA
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License.  You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */// Contibutors: Alex Blewitt <Alex.Blewitt@ioshq.com>//              Markus Oestreicher <oes@zurich.ibm.com>//              Frank Hoering <fhr@zurich.ibm.com>//              Nelson Minar <nelson@media.mit.edu>//              Jim Cakalic <jim_cakalic@na.biomerieux.com>//              Avy Sharell <asharell@club-internet.fr>//              Ciaran Treanor <ciaran@xelector.com>//              Jeff Turner <jeff@socialchange.net.au>//              Michael Horwitz <MHorwitz@siemens.co.za>//              Calvin Chan <calvin.chan@hic.gov.au>//              Aaron Greenhouse <aarong@cs.cmu.edu>//              Beat Meier <bmeier@infovia.com.ar>//              Colin Sampaleanu <colinml1@exis.com>package org.apache.log4j;import org.apache.log4j.spi.AppenderAttachable;import org.apache.log4j.spi.LoggingEvent;import org.apache.log4j.spi.LoggerRepository;import org.apache.log4j.spi.HierarchyEventListener;import org.apache.log4j.helpers.NullEnumeration;import org.apache.log4j.helpers.AppenderAttachableImpl;import java.util.Enumeration;import java.util.MissingResourceException;import java.util.ResourceBundle;import java.util.Vector;/**  * <font color="#AA2222"><b>This class has been deprecated and  * replaced by the {@link Logger} <em>subclass</em></b></font>. It  * will be kept around to preserve backward compatibility until mid  * 2003.  *   * <p><code>Logger</code> is a subclass of Category, i.e. it extends  * Category. In other words, a logger <em>is</em> a category. Thus,  * all operations that can be performed on a category can be  * performed on a logger. Internally, whenever log4j is asked to  * produce a Category object, it will instead produce a Logger  * object. Log4j 1.2 will <em>never</em> produce Category objects but  * only <code>Logger</code> instances. In order to preserve backward  * compatibility, methods that previously accepted category objects  * still continue to accept category objects.  *   * <p>For example, the following are all legal and will work as  * expected.  *    <pre>    &nbsp;&nbsp;&nbsp;// Deprecated form:    &nbsp;&nbsp;&nbsp;Category cat = Category.getInstance("foo.bar")       &nbsp;&nbsp;&nbsp;// Preferred form for retrieving loggers:    &nbsp;&nbsp;&nbsp;Logger logger = Logger.getLogger("foo.bar")   </pre>     *  <p>The first form is deprecated and should be avoided.  *   *  <p><b>There is absolutely no need for new client code to use or  *  refer to the <code>Category</code> class.</b> Whenever possible,  *  please avoid referring to it or using it.  *   * <p>See the <a href="../../../../manual.html">short manual</a> for an  * introduction on this class.  * <p>  * See the document entitled <a href="http://www.qos.ch/logging/preparingFor13.html">preparing  *  for log4j 1.3</a> for a more detailed discussion.  *  * @author Ceki G&uuml;lc&uuml;  * @author Anders Kristensen   */public class Category implements AppenderAttachable {  /**     The hierarchy where categories are attached to by default.  */  //static  //public  //final Hierarchy defaultHierarchy = new Hierarchy(new  //					   RootCategory(Level.DEBUG));  /**     The name of this category.  */  protected String   name;  /**     The assigned level of this category.  The     <code>level</code> variable need not be assigned a value in     which case it is inherited form the hierarchy.  */  volatile protected Level level;  /**     The parent of this category. All categories have at least one     ancestor which is the root category. */  volatile protected Category parent;  /**     The fully qualified name of the Category class. See also the     getFQCN method. */  private static final String FQCN = Category.class.getName();  protected ResourceBundle resourceBundle;  // Categories need to know what Hierarchy they are in  protected LoggerRepository repository;  AppenderAttachableImpl aai;  /** Additivity is set to true by default, that is children inherit      the appenders of their ancestors by default. If this variable is      set to <code>false</code> then the appenders found in the      ancestors of this category are not used. However, the children      of this category will inherit its appenders, unless the children      have their additivity flag set to <code>false</code> too. See      the user manual for more details. */  protected boolean additive = true;  /**     This constructor created a new <code>Category</code> instance and     sets its name.     <p>It is intended to be used by sub-classes only. You should not     create categories directly.     @param name The name of the category.  */  protected  Category(String name) {    this.name = name;  }  /**     Add <code>newAppender</code> to the list of appenders of this     Category instance.     <p>If <code>newAppender</code> is already in the list of     appenders, then it won't be added again.  */  synchronized  public  void addAppender(Appender newAppender) {    if(aai == null) {      aai = new AppenderAttachableImpl();    }    aai.addAppender(newAppender);    repository.fireAddAppenderEvent(this, newAppender);  }  /**     If <code>assertion</code> parameter is <code>false</code>, then     logs <code>msg</code> as an {@link #error(Object) error} statement.     <p>The <code>assert</code> method has been renamed to     <code>assertLog</code> because <code>assert</code> is a language     reserved word in JDK 1.4.     @param assertion     @param msg The message to print if <code>assertion</code> is     false.     @since 1.2 */  public  void assertLog(boolean assertion, String msg) {    if(!assertion)      this.error(msg);  }  /**     Call the appenders in the hierrachy starting at     <code>this</code>.  If no appenders could be found, emit a     warning.     <p>This method calls all the appenders inherited from the     hierarchy circumventing any evaluation of whether to log or not     to log the particular log request.     @param event the event to log.  */  public  void callAppenders(LoggingEvent event) {    int writes = 0;    for(Category c = this; c != null; c=c.parent) {      // Protected against simultaneous call to addAppender, removeAppender,...      synchronized(c) {	if(c.aai != null) {	  writes += c.aai.appendLoopOnAppenders(event);	}	if(!c.additive) {	  break;	}      }    }    if(writes == 0) {      repository.emitNoAppenderWarning(this);    }  }  /**     Close all attached appenders implementing the AppenderAttachable     interface.     @since 1.0  */  synchronized  void closeNestedAppenders() {    Enumeration enumeration = this.getAllAppenders();    if(enumeration != null) {      while(enumeration.hasMoreElements()) {	Appender a = (Appender) enumeration.nextElement();	if(a instanceof AppenderAttachable) {	  a.close();	}      }    }  }  /**    Log a message object with the {@link Level#DEBUG DEBUG} level.    <p>This method first checks if this category is <code>DEBUG</code>    enabled by comparing the level of this category with the {@link    Level#DEBUG DEBUG} level. If this category is    <code>DEBUG</code> enabled, then it converts the message object    (passed as parameter) to a string by invoking the appropriate    {@link org.apache.log4j.or.ObjectRenderer}. It then proceeds to call all the    registered appenders in this category and also higher in the    hierarchy depending on the value of the additivity flag.    <p><b>WARNING</b> Note that passing a {@link Throwable} to this    method will print the name of the <code>Throwable</code> but no    stack trace. To print a stack trace use the {@link #debug(Object,    Throwable)} form instead.    @param message the message object to log. */  public  void debug(Object message) {    if(repository.isDisabled(Level.DEBUG_INT))      return;    if(Level.DEBUG.isGreaterOrEqual(this.getEffectiveLevel())) {      forcedLog(FQCN, Level.DEBUG, message, null);    }  }  /**   Log a message object with the <code>DEBUG</code> level including   the stack trace of the {@link Throwable} <code>t</code> passed as   parameter.   <p>See {@link #debug(Object)} form for more detailed information.   @param message the message object to log.   @param t the exception to log, including its stack trace.  */  public  void debug(Object message, Throwable t) {    if(repository.isDisabled(Level.DEBUG_INT))      return;    if(Level.DEBUG.isGreaterOrEqual(this.getEffectiveLevel()))      forcedLog(FQCN, Level.DEBUG, message, t);  }  /**    Log a message object with the {@link Level#ERROR ERROR} Level.    <p>This method first checks if this category is <code>ERROR</code>    enabled by comparing the level of this category with {@link    Level#ERROR ERROR} Level. If this category is <code>ERROR</code>    enabled, then it converts the message object passed as parameter    to a string by invoking the appropriate {@link    org.apache.log4j.or.ObjectRenderer}. It proceeds to call all the    registered appenders in this category and also higher in the    hierarchy depending on the value of the additivity flag.    <p><b>WARNING</b> Note that passing a {@link Throwable} to this    method will print the name of the <code>Throwable</code> but no    stack trace. To print a stack trace use the {@link #error(Object,    Throwable)} form instead.    @param message the message object to log */  public  void error(Object message) {    if(repository.isDisabled(Level.ERROR_INT))      return;    if(Level.ERROR.isGreaterOrEqual(this.getEffectiveLevel()))      forcedLog(FQCN, Level.ERROR, message, null);  }  /**   Log a message object with the <code>ERROR</code> level including   the stack trace of the {@link Throwable} <code>t</code> passed as   parameter.   <p>See {@link #error(Object)} form for more detailed information.   @param message the message object to log.   @param t the exception to log, including its stack trace.  */  public  void error(Object message, Throwable t) {    if(repository.isDisabled(Level.ERROR_INT))      return;    if(Level.ERROR.isGreaterOrEqual(this.getEffectiveLevel()))      forcedLog(FQCN, Level.ERROR, message, t);  }  /**     If the named category exists (in the default hierarchy) then it     returns a reference to the category, otherwise it returns     <code>null</code>.     @deprecated Please use {@link LogManager#exists} instead.     @since 0.8.5 */  public  static  Logger exists(String name) {    return LogManager.exists(name);  }  /**    Log a message object with the {@link Level#FATAL FATAL} Level.    <p>This method first checks if this category is <code>FATAL</code>    enabled by comparing the level of this category with {@link    Level#FATAL FATAL} Level. If the category is <code>FATAL</code>    enabled, then it converts the message object passed as parameter    to a string by invoking the appropriate    {@link org.apache.log4j.or.ObjectRenderer}. It    proceeds to call all the registered appenders in this category and    also higher in the hierarchy depending on the value of the    additivity flag.    <p><b>WARNING</b> Note that passing a {@link Throwable} to this    method will print the name of the Throwable but no stack trace. To

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美www视频| 久久婷婷成人综合色| 久久超级碰视频| 中文字幕一区二区三区在线播放 | 美女一区二区三区| 欧美国产日韩精品免费观看| 91精品午夜视频| 一本到不卡精品视频在线观看| 久久91精品久久久久久秒播| 一区二区三区四区在线免费观看| 精品国产一区二区三区不卡| 欧美日韩一区二区在线观看视频| 国产传媒日韩欧美成人| 亚洲va天堂va国产va久| 国产精品成人免费精品自在线观看| 51久久夜色精品国产麻豆| 91视频国产资源| 国产另类ts人妖一区二区| 天天综合天天做天天综合| 日韩毛片一二三区| 亚洲成人资源在线| 国产午夜亚洲精品午夜鲁丝片| 成人午夜激情视频| 久久嫩草精品久久久久| 99久久夜色精品国产网站| 国产欧美日韩在线| 日本丰满少妇一区二区三区| 国产精品中文有码| 国产精品一区二区三区99| 国产免费成人在线视频| 777xxx欧美| 亚洲国产va精品久久久不卡综合| 成a人片亚洲日本久久| 国产精品国产三级国产普通话三级| 国内久久婷婷综合| 日韩区在线观看| 国产成人aaaa| 老司机免费视频一区二区三区| 免费人成在线不卡| 精品亚洲porn| 日本欧美一区二区三区乱码| 中文字幕精品在线不卡| 欧美亚洲国产bt| aaa欧美色吧激情视频| 日日夜夜精品视频免费| 精品免费视频一区二区| av在线这里只有精品| 韩国av一区二区三区| 亚洲一区二区视频| 亚洲精品第一国产综合野| 精品三级在线观看| 欧美日韩和欧美的一区二区| 久久国产尿小便嘘嘘| 日本中文字幕一区| 亚洲福中文字幕伊人影院| 国产丝袜在线精品| 2023国产一二三区日本精品2022| 9色porny自拍视频一区二区| 蜜桃精品视频在线| 激情综合网天天干| 日韩成人一级片| 国产欧美一区二区精品性色 | 欧美精品一卡两卡| 99精品国产热久久91蜜凸| 国产福利一区二区三区视频| 成年人网站91| 福利一区福利二区| 懂色一区二区三区免费观看 | 欧美丰满高潮xxxx喷水动漫| 中国色在线观看另类| 国产成人自拍高清视频在线免费播放| 欧美日本一道本在线视频| 亚洲最大成人综合| 欧美这里有精品| 亚洲综合精品自拍| 色综合久久中文综合久久97 | 国产·精品毛片| 欧美日韩成人综合在线一区二区| 337p粉嫩大胆色噜噜噜噜亚洲 | 日韩欧美国产一区在线观看| 日韩一区中文字幕| 久久66热re国产| 欧美日韩精品一区二区三区| 久久久国产精品麻豆| 国产在线视视频有精品| 成人晚上爱看视频| 久久美女艺术照精彩视频福利播放| 一区二区三区中文字幕电影| 成人福利电影精品一区二区在线观看| 欧美一区欧美二区| 国产亚洲美州欧州综合国| 久久精品国产亚洲aⅴ| 2欧美一区二区三区在线观看视频| 久久激五月天综合精品| 国产欧美一区二区精品秋霞影院 | 国产成人亚洲综合a∨婷婷图片| 国产亚洲成aⅴ人片在线观看| 不卡视频在线观看| 午夜欧美一区二区三区在线播放| 欧美日韩高清一区| 国产精品白丝jk白祙喷水网站| 国产精品久久久久9999吃药| 777午夜精品免费视频| 国产大片一区二区| 亚洲gay无套男同| 国产精品色呦呦| 日韩欧美精品三级| eeuss鲁片一区二区三区| 青青青爽久久午夜综合久久午夜| 中文字幕不卡在线| 精品卡一卡二卡三卡四在线| 色婷婷综合久久久中文一区二区| 久久超碰97人人做人人爱| 亚洲午夜激情av| 亚洲欧美另类久久久精品| 精品国产凹凸成av人导航| 欧美精品高清视频| 色国产综合视频| 99国产精品国产精品久久| 国产一二精品视频| 久久精品噜噜噜成人88aⅴ | 成人免费一区二区三区视频| 69堂亚洲精品首页| 午夜日韩在线观看| 欧美人xxxx| 国产99久久久久| 中文字幕一区不卡| 在线观看视频91| 国产伦精品一区二区三区视频青涩 | 成人自拍视频在线| 欧美v国产在线一区二区三区| 午夜视黄欧洲亚洲| 欧美日韩精品一区二区在线播放| 亚洲欧洲在线观看av| 不卡一区在线观看| 欧美国产一区视频在线观看| 国产福利视频一区二区三区| 2欧美一区二区三区在线观看视频| 毛片av一区二区三区| 69av一区二区三区| 免费高清视频精品| 欧美成人三级电影在线| 精品一二三四在线| 久久久天堂av| 粉嫩av一区二区三区在线播放| 国产精品久久毛片av大全日韩| 欧美日产国产精品| 午夜精品福利一区二区三区av| 欧美视频日韩视频| 日日夜夜一区二区| 日韩欧美国产不卡| 国产精品影音先锋| 国产精品人妖ts系列视频| www.欧美日韩国产在线| 亚洲精品国产第一综合99久久 | 国产午夜三级一区二区三| 国产精品一区在线观看你懂的| 日本一区二区三级电影在线观看 | 色综合天天综合色综合av| 亚洲日本韩国一区| 欧美日韩综合一区| 男女男精品视频| 精品国产123| 成人午夜av在线| 亚洲黄网站在线观看| 欧美欧美欧美欧美| 国产99精品国产| 一区二区欧美精品| 56国语精品自产拍在线观看| 国产酒店精品激情| 亚洲精品中文在线观看| 51午夜精品国产| 不卡影院免费观看| 日韩激情中文字幕| 久久久精品国产99久久精品芒果| 91蜜桃免费观看视频| 三级欧美在线一区| 日本一二三四高清不卡| 精品视频1区2区| 国产成人av一区| 亚洲国产精品久久久久婷婷884| 久久久亚洲精品石原莉奈| 99久久久久久| 韩国理伦片一区二区三区在线播放 | 日韩欧美国产1| 99久久er热在这里只有精品15 | 亚洲欧美日韩成人高清在线一区| 正在播放亚洲一区| 成人网男人的天堂| 日本三级韩国三级欧美三级| 国产精品剧情在线亚洲| 欧美一区二区三区视频在线| 99久久99久久精品国产片果冻| 久久超碰97人人做人人爱| 亚洲无线码一区二区三区| 国产欧美日本一区二区三区| 欧美一区二区三区在线| 91香蕉视频黄| 国产成人在线网站| 奇米影视7777精品一区二区|