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

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

?? logmanager.java

?? apache的log4j源碼
?? JAVA
字號:
/* * 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. */package org.apache.log4j;import org.apache.log4j.spi.LoggerRepository;import org.apache.log4j.spi.LoggerFactory;import org.apache.log4j.spi.RepositorySelector;import org.apache.log4j.spi.DefaultRepositorySelector;import org.apache.log4j.spi.RootLogger;import org.apache.log4j.spi.NOPLoggerRepository;import org.apache.log4j.helpers.Loader;import org.apache.log4j.helpers.OptionConverter;import org.apache.log4j.helpers.LogLog;import java.net.URL;import java.net.MalformedURLException;import java.util.Enumeration;/** * Use the <code>LogManager</code> class to retreive {@link Logger} * instances or to operate on the current {@link * LoggerRepository}. When the <code>LogManager</code> class is loaded * into memory the default initalzation procedure is inititated. The * default intialization procedure</a> is described in the <a * href="../../../../manual.html#defaultInit">short log4j manual</a>. * * @author Ceki G&uuml;lc&uuml; */public class LogManager {  /**   * @deprecated This variable is for internal use only. It will   * become package protected in future versions.   * */  static public final String DEFAULT_CONFIGURATION_FILE = "log4j.properties";    static final String DEFAULT_XML_CONFIGURATION_FILE = "log4j.xml";       /**   * @deprecated This variable is for internal use only. It will   * become private in future versions.   * */  static final public String DEFAULT_CONFIGURATION_KEY="log4j.configuration";  /**   * @deprecated This variable is for internal use only. It will   * become private in future versions.   * */  static final public String CONFIGURATOR_CLASS_KEY="log4j.configuratorClass";  /**  * @deprecated This variable is for internal use only. It will  * become private in future versions.  */  public static final String DEFAULT_INIT_OVERRIDE_KEY =                                                  "log4j.defaultInitOverride";  static private Object guard = null;  static private RepositorySelector repositorySelector;  static {    // By default we use a DefaultRepositorySelector which always returns 'h'.    Hierarchy h = new Hierarchy(new RootLogger((Level) Level.DEBUG));    repositorySelector = new DefaultRepositorySelector(h);    /** Search for the properties file log4j.properties in the CLASSPATH.  */    String override =OptionConverter.getSystemProperty(DEFAULT_INIT_OVERRIDE_KEY,						       null);    // if there is no default init override, then get the resource    // specified by the user or the default config file.    if(override == null || "false".equalsIgnoreCase(override)) {      String configurationOptionStr = OptionConverter.getSystemProperty(							  DEFAULT_CONFIGURATION_KEY, 							  null);      String configuratorClassName = OptionConverter.getSystemProperty(                                                   CONFIGURATOR_CLASS_KEY, 						   null);      URL url = null;      // if the user has not specified the log4j.configuration      // property, we search first for the file "log4j.xml" and then      // "log4j.properties"      if(configurationOptionStr == null) {		url = Loader.getResource(DEFAULT_XML_CONFIGURATION_FILE);	if(url == null) {	  url = Loader.getResource(DEFAULT_CONFIGURATION_FILE);	}      } else {	try {	  url = new URL(configurationOptionStr);	} catch (MalformedURLException ex) {	  // so, resource is not a URL:	  // attempt to get the resource from the class path	  url = Loader.getResource(configurationOptionStr); 	}	      }            // If we have a non-null url, then delegate the rest of the      // configuration to the OptionConverter.selectAndConfigure      // method.      if(url != null) {	    LogLog.debug("Using URL ["+url+"] for automatic log4j configuration.");        try {            OptionConverter.selectAndConfigure(url, configuratorClassName,					   LogManager.getLoggerRepository());        } catch (NoClassDefFoundError e) {            LogLog.warn("Error during default initialization", e);        }      } else {	    LogLog.debug("Could not find resource: ["+configurationOptionStr+"].");      }    }    }   /**     Sets <code>LoggerFactory</code> but only if the correct     <em>guard</em> is passed as parameter.          <p>Initally the guard is null.  If the guard is     <code>null</code>, then invoking this method sets the logger     factory and the guard. Following invocations will throw a {@link     IllegalArgumentException}, unless the previously set     <code>guard</code> is passed as the second parameter.     <p>This allows a high-level component to set the {@link     RepositorySelector} used by the <code>LogManager</code>.          <p>For example, when tomcat starts it will be able to install its     own repository selector. However, if and when Tomcat is embedded     within JBoss, then JBoss will install its own repository selector     and Tomcat will use the repository selector set by its container,     JBoss.  */  static  public  void setRepositorySelector(RepositorySelector selector, Object guard)                                                  throws IllegalArgumentException {    if((LogManager.guard != null) && (LogManager.guard != guard)) {      throw new IllegalArgumentException(           "Attempted to reset the LoggerFactory without possessing the guard.");    }    if(selector == null) {      throw new IllegalArgumentException("RepositorySelector must be non-null.");    }    LogManager.guard = guard;    LogManager.repositorySelector = selector;  }  static  public  LoggerRepository getLoggerRepository() {    if (repositorySelector == null) {        repositorySelector = new DefaultRepositorySelector(new NOPLoggerRepository());        guard = null;        LogLog.error("LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository.");    }    return repositorySelector.getLoggerRepository();  }  /**     Retrieve the appropriate root logger.   */  public  static   Logger getRootLogger() {     // Delegate the actual manufacturing of the logger to the logger repository.    return getLoggerRepository().getRootLogger();  }  /**     Retrieve the appropriate {@link Logger} instance.    */  public  static   Logger getLogger(final String name) {     // Delegate the actual manufacturing of the logger to the logger repository.    return getLoggerRepository().getLogger(name);  } /**     Retrieve the appropriate {@link Logger} instance.    */  public  static   Logger getLogger(final Class clazz) {     // Delegate the actual manufacturing of the logger to the logger repository.    return getLoggerRepository().getLogger(clazz.getName());  }  /**     Retrieve the appropriate {@link Logger} instance.    */  public  static   Logger getLogger(final String name, final LoggerFactory factory) {     // Delegate the actual manufacturing of the logger to the logger repository.    return getLoggerRepository().getLogger(name, factory);  }    public  static  Logger exists(final String name) {    return getLoggerRepository().exists(name);  }  public  static  Enumeration getCurrentLoggers() {    return getLoggerRepository().getCurrentLoggers();  }  public  static  void shutdown() {    getLoggerRepository().shutdown();  }  public  static  void resetConfiguration() {    getLoggerRepository().resetConfiguration();  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久久久久电影| 日韩黄色一级片| 国产传媒欧美日韩成人| 26uuu国产日韩综合| 韩国欧美国产1区| 久久久精品国产免费观看同学| 六月丁香婷婷久久| 精品久久久久99| 国产精品18久久久久久久网站| 久久这里只有精品视频网| 久久99热99| 91精品午夜视频| 韩国三级中文字幕hd久久精品| 欧美精品一卡二卡| 国产精品69久久久久水密桃| 亚洲免费观看高清在线观看| 欧美午夜精品久久久久久超碰 | 久久嫩草精品久久久精品一| 国产成a人亚洲| 亚洲欧美电影一区二区| 欧美日韩国产在线观看| 国产综合久久久久久久久久久久| 国产女主播一区| 欧美日韩dvd在线观看| 国产乱码精品一区二区三区忘忧草 | 亚洲丰满少妇videoshd| 日韩欧美亚洲另类制服综合在线| 不卡在线观看av| 日韩不卡一区二区| 亚洲三级在线免费观看| 日韩一区二区中文字幕| 成人开心网精品视频| 久久精品72免费观看| 亚洲欧美另类久久久精品| 3d成人动漫网站| 91麻豆精品一区二区三区| 国产一区二区三区在线观看免费视频 | 日韩免费福利电影在线观看| 91麻豆精东视频| 99热99精品| av综合在线播放| 99久久精品免费看国产| 激情av综合网| 蜜桃视频免费观看一区| 亚洲一区二区三区四区在线| 亚洲人妖av一区二区| 国产精品女人毛片| 中文字幕欧美日本乱码一线二线| 国产偷国产偷精品高清尤物| 精品av综合导航| 精品成人私密视频| 精品第一国产综合精品aⅴ| 精品精品欲导航| 久久久久国色av免费看影院| 精品少妇一区二区三区免费观看 | 亚洲欧洲日产国码二区| 国产精品久久久久久久久免费樱桃| 国产调教视频一区| 中文天堂在线一区| 一区二区理论电影在线观看| 亚洲视频一二区| 亚洲成a人v欧美综合天堂| 舔着乳尖日韩一区| 精品一区二区三区影院在线午夜| 日本一不卡视频| 国产成人亚洲综合a∨婷婷图片| 丁香婷婷综合色啪| 欧美日韩黄色一区二区| 精品盗摄一区二区三区| 亚洲精品第一国产综合野| 免费高清视频精品| 国产成人精品在线看| 日韩视频永久免费| 中文无字幕一区二区三区| 一区二区三区在线免费观看 | 亚洲专区一二三| 风间由美性色一区二区三区| 欧美日韩在线电影| 国产精品每日更新| 久久精品国产澳门| 欧美精品 日韩| 亚洲日本成人在线观看| 国产精品综合一区二区三区| 欧美日韩视频在线第一区 | 亚洲v日本v欧美v久久精品| 国产乱人伦偷精品视频不卡| 91精品午夜视频| 亚洲人精品午夜| 不卡一区二区三区四区| 国产欧美日韩精品一区| 国产一区二区调教| 精品伦理精品一区| 另类成人小视频在线| 91精品国产91久久综合桃花| 亚洲伦在线观看| 99久久久精品| 亚洲黄色免费网站| 一本大道久久a久久综合婷婷| 国产精品色哟哟网站| 成人免费看片app下载| 欧美高清在线精品一区| 成人av在线资源网站| 国产精品福利一区| 欧美色网站导航| 美女www一区二区| 国产亚洲va综合人人澡精品 | 欧美性感一区二区三区| 亚洲免费在线播放| 欧美日韩一级片网站| 久久99精品国产麻豆婷婷洗澡| 精品国产3级a| 不卡av免费在线观看| 亚洲激情在线播放| 欧美一级欧美三级在线观看| 精品综合久久久久久8888| 国产日韩欧美不卡在线| 97se亚洲国产综合自在线观| 亚洲成av人片一区二区梦乃| 久久精品免视看| 在线成人午夜影院| 成人av电影观看| 秋霞午夜鲁丝一区二区老狼| 久久久.com| 在线成人免费视频| a美女胸又www黄视频久久| 日本午夜一区二区| 亚洲蜜臀av乱码久久精品蜜桃| 欧美美女喷水视频| www.日本不卡| 国产精品一区免费视频| 男男视频亚洲欧美| 1区2区3区欧美| 欧美国产一区在线| 欧美成人高清电影在线| 精品视频在线免费观看| 99热国产精品| 成人性生交大片免费看在线播放| 99久久国产综合精品色伊| 国产成人午夜高潮毛片| 精品亚洲aⅴ乱码一区二区三区| 亚洲动漫第一页| 午夜免费欧美电影| 亚洲综合一二三区| 国产欧美一区二区精品仙草咪| 欧美日韩在线播放一区| 欧美视频在线播放| 欧美日韩美女一区二区| 51精品秘密在线观看| 欧美一区二区网站| 日韩欧美视频在线| 欧美一级免费观看| 久久一二三国产| 久久久久久久久久电影| 国产天堂亚洲国产碰碰| 国产精品二三区| 亚洲精品国产成人久久av盗摄| 一区二区三区精品在线观看| 欧美国产一区视频在线观看| 波多野结衣亚洲| 欧美亚洲高清一区二区三区不卡| 欧美日韩国产区一| 久久精品一区二区三区四区 | 色一情一乱一乱一91av| 欧美性色综合网| 日韩亚洲欧美在线| 中文字幕免费一区| 亚洲成人av一区二区| 国产成人激情av| 91.xcao| 亚洲视频一二三| 精品无人码麻豆乱码1区2区| 97精品视频在线观看自产线路二| 欧美日韩aaa| 国产精品午夜在线| 蜜乳av一区二区| 欧美视频一区二区三区四区 | 午夜精品123| 91免费看`日韩一区二区| 精品精品欲导航| 日本一区中文字幕| 欧美日韩久久久| 亚洲欧美精品午睡沙发| 国产福利一区二区三区视频在线 | 制服丝袜国产精品| 一区精品在线播放| 国产精品 欧美精品| 精品欧美一区二区在线观看| 亚洲国产日韩在线一区模特| 成人久久久精品乱码一区二区三区| 欧美成人乱码一区二区三区| 亚洲专区一二三| 在线欧美小视频| 综合久久一区二区三区| 国产黄色精品视频| 欧美高清精品3d| 国产精品国产自产拍在线| 国产中文字幕精品| 一区二区三区国产豹纹内裤在线| 欧美精品vⅰdeose4hd| 成人午夜视频福利|