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

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

?? logsource.java

?? Jakarta小組開發的可集成在各種系統中的共用登入管理程序。
?? JAVA
字號:
/* * Copyright 2001-2004 The Apache Software Foundation. *  * Licensed 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.commons.logging;import java.lang.reflect.Constructor;import java.util.Hashtable;import org.apache.commons.logging.impl.NoOpLog;/** * <p>Factory for creating {@link Log} instances.  Applications should call * the <code>makeNewLogInstance()</code> method to instantiate new instances * of the configured {@link Log} implementation class.</p> * * <p>By default, calling <code>getInstance()</code> will use the following * algorithm:</p> * <ul> * <li>If Log4J is available, return an instance of *     <code>org.apache.commons.logging.impl.Log4JLogger</code>.</li> * <li>If JDK 1.4 or later is available, return an instance of *     <code>org.apache.commons.logging.impl.Jdk14Logger</code>.</li> * <li>Otherwise, return an instance of *     <code>org.apache.commons.logging.impl.NoOpLog</code>.</li> * </ul> * * <p>You can change the default behavior in one of two ways:</p> * <ul> * <li>On the startup command line, set the system property *     <code>org.apache.commons.logging.log</code> to the name of the *     <code>org.apache.commons.logging.Log</code> implementation class *     you want to use.</li> * <li>At runtime, call <code>LogSource.setLogImplementation()</code>.</li> * </ul> * * @deprecated Use {@link LogFactory} instead - The default factory *  implementation performs exactly the same algorithm as this class did * * @author Rod Waldhoff * @version $Id: LogSource.java,v 1.21 2004/02/28 21:46:45 craigmcc Exp $ */public class LogSource {    // ------------------------------------------------------- Class Attributes    static protected Hashtable logs = new Hashtable();    /** Is log4j available (in the current classpath) */    static protected boolean log4jIsAvailable = false;    /** Is JDK 1.4 logging available */    static protected boolean jdk14IsAvailable = false;    /** Constructor for current log class */    static protected Constructor logImplctor = null;    // ----------------------------------------------------- Class Initializers    static {        // Is Log4J Available?        try {            if (null != Class.forName("org.apache.log4j.Logger")) {                log4jIsAvailable = true;            } else {                log4jIsAvailable = false;            }        } catch (Throwable t) {            log4jIsAvailable = false;        }        // Is JDK 1.4 Logging Available?        try {            if ((null != Class.forName("java.util.logging.Logger")) &&                (null != Class.forName("org.apache.commons.logging.impl.Jdk14Logger"))) {                jdk14IsAvailable = true;            } else {                jdk14IsAvailable = false;            }        } catch (Throwable t) {            jdk14IsAvailable = false;        }        // Set the default Log implementation        String name = null;        try {            name = System.getProperty("org.apache.commons.logging.log");            if (name == null) {                name = System.getProperty("org.apache.commons.logging.Log");            }        } catch (Throwable t) {        }        if (name != null) {            try {                setLogImplementation(name);            } catch (Throwable t) {                try {                    setLogImplementation                            ("org.apache.commons.logging.impl.NoOpLog");                } catch (Throwable u) {                    ;                }            }        } else {            try {                if (log4jIsAvailable) {                    setLogImplementation                            ("org.apache.commons.logging.impl.Log4JLogger");                } else if (jdk14IsAvailable) {                    setLogImplementation                            ("org.apache.commons.logging.impl.Jdk14Logger");                } else {                    setLogImplementation                            ("org.apache.commons.logging.impl.NoOpLog");                }            } catch (Throwable t) {                try {                    setLogImplementation                            ("org.apache.commons.logging.impl.NoOpLog");                } catch (Throwable u) {                    ;                }            }        }    }    // ------------------------------------------------------------ Constructor    /** Don't allow others to create instances */    private LogSource() {    }    // ---------------------------------------------------------- Class Methods    /**     * Set the log implementation/log implementation factory     * by the name of the class.  The given class     * must implement {@link Log}, and provide a constructor that     * takes a single {@link String} argument (containing the name     * of the log).     */    static public void setLogImplementation(String classname) throws            LinkageError, ExceptionInInitializerError,            NoSuchMethodException, SecurityException,            ClassNotFoundException {        try {            Class logclass = Class.forName(classname);            Class[] argtypes = new Class[1];            argtypes[0] = "".getClass();            logImplctor = logclass.getConstructor(argtypes);        } catch (Throwable t) {            logImplctor = null;        }    }    /**     * Set the log implementation/log implementation factory     * by class.  The given class must implement {@link Log},     * and provide a constructor that takes a single {@link String}     * argument (containing the name of the log).     */    static public void setLogImplementation(Class logclass) throws            LinkageError, ExceptionInInitializerError,            NoSuchMethodException, SecurityException {        Class[] argtypes = new Class[1];        argtypes[0] = "".getClass();        logImplctor = logclass.getConstructor(argtypes);    }    /** Get a <code>Log</code> instance by class name */    static public Log getInstance(String name) {        Log log = (Log) (logs.get(name));        if (null == log) {            log = makeNewLogInstance(name);            logs.put(name, log);        }        return log;    }    /** Get a <code>Log</code> instance by class */    static public Log getInstance(Class clazz) {        return getInstance(clazz.getName());    }    /**     * Create a new {@link Log} implementation, based     * on the given <i>name</i>.     * <p>     * The specific {@link Log} implementation returned     * is determined by the value of the     * <tt>org.apache.commons.logging.log</tt> property.     * The value of <tt>org.apache.commons.logging.log</tt> may be set to     * the fully specified name of a class that implements     * the {@link Log} interface.  This class must also     * have a public constructor that takes a single     * {@link String} argument (containing the <i>name</i>     * of the {@link Log} to be constructed.     * <p>     * When <tt>org.apache.commons.logging.log</tt> is not set,     * or when no corresponding class can be found,     * this method will return a Log4JLogger     * if the log4j Logger class is     * available in the {@link LogSource}'s classpath, or a     * Jdk14Logger if we are on a JDK 1.4 or later system, or     * NoOpLog if neither of the above conditions is true.     *     * @param name the log name (or category)     */    static public Log makeNewLogInstance(String name) {        Log log = null;        try {            Object[] args = new Object[1];            args[0] = name;            log = (Log) (logImplctor.newInstance(args));        } catch (Throwable t) {            log = null;        }        if (null == log) {            log = new NoOpLog(name);        }        return log;    }    /**     * Returns a {@link String} array containing the names of     * all logs known to me.     */    static public String[] getLogNames() {        return (String[]) (logs.keySet().toArray(new String[logs.size()]));    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91视频免费播放| 色综合久久久久久久| 亚洲一区二区三区视频在线播放 | 亚洲欧洲日本在线| 国产欧美一区在线| 精品国产乱码久久久久久蜜臀| 9191久久久久久久久久久| 欧美群妇大交群中文字幕| 欧美精品在欧美一区二区少妇| 欧美视频中文一区二区三区在线观看| 色成人在线视频| 欧美日韩精品系列| 精品国产99国产精品| 久久久久久久久久久电影| 中文字幕av资源一区| 亚洲嫩草精品久久| 香蕉久久夜色精品国产使用方法 | 国产成人av一区| 不卡一卡二卡三乱码免费网站| 成人精品一区二区三区四区 | 亚洲一二三四在线| 日韩和的一区二区| 韩国av一区二区三区四区 | 一区二区三区精品在线观看| 亚洲一卡二卡三卡四卡| 乱中年女人伦av一区二区| 国产xxx精品视频大全| 一本大道久久a久久精品综合 | 日韩精品福利网| 国产在线精品免费| 在线观看www91| 精品乱人伦小说| 亚洲精品免费在线| 久久av资源网| 99精品在线观看视频| 69av一区二区三区| 国产精品网曝门| 舔着乳尖日韩一区| 福利一区二区在线| 欧美一区二区在线视频| 中文欧美字幕免费| 免费成人在线视频观看| 91小视频在线免费看| 精品理论电影在线| 亚洲国产日韩a在线播放性色| 国产一区二区三区在线看麻豆| 欧美无乱码久久久免费午夜一区| 久久久不卡网国产精品二区| 一区二区三区产品免费精品久久75| 久久99久国产精品黄毛片色诱| 91免费国产在线| 精品国产成人系列| 天天色 色综合| 99久久久久久99| 国产日韩精品视频一区| 日本麻豆一区二区三区视频| 在线精品视频一区二区| 久久精品夜色噜噜亚洲a∨| 人人超碰91尤物精品国产| 一本久久综合亚洲鲁鲁五月天 | 亚洲国产成人精品视频| 成人夜色视频网站在线观看| 日韩免费视频线观看| 日韩精品一二三四| 欧洲一区二区三区在线| 亚洲男人都懂的| 91网站最新网址| 日本一区二区动态图| 国产精品亚洲а∨天堂免在线| 日韩一卡二卡三卡国产欧美| 亚洲成年人影院| 欧美亚洲国产一区二区三区| 亚洲天天做日日做天天谢日日欢| 成人看片黄a免费看在线| 久久婷婷色综合| 国产在线日韩欧美| 久久久99精品免费观看| 国产福利一区二区| 国产亚洲精久久久久久| 国产宾馆实践打屁股91| 久久久久成人黄色影片| 国产99久久精品| 中文字幕精品—区二区四季| av在线播放不卡| 亚洲色图视频免费播放| 日本高清免费不卡视频| 亚洲午夜久久久久久久久电影院| 欧美三片在线视频观看| 免费在线观看成人| 国产亚洲婷婷免费| 91欧美一区二区| 亚洲成人av中文| 精品噜噜噜噜久久久久久久久试看 | 久久久亚洲精华液精华液精华液| 国产一区二区三区蝌蚪| 国产精品国产自产拍高清av| 91网上在线视频| 午夜精品福利一区二区三区av | 99久久精品免费看| 亚洲一区二区不卡免费| 91精品国产色综合久久久蜜香臀| 久久99蜜桃精品| 成人欧美一区二区三区黑人麻豆| 精品婷婷伊人一区三区三| 日产欧产美韩系列久久99| 国产亚洲一区字幕| 欧美性高清videossexo| 国模娜娜一区二区三区| 亚洲品质自拍视频网站| 欧美精品日韩一区| 北岛玲一区二区三区四区| 午夜久久久久久久久| 精品盗摄一区二区三区| 欧美午夜精品久久久久久超碰| 九色综合国产一区二区三区| 亚洲日本在线观看| 精品少妇一区二区三区视频免付费 | 色久优优欧美色久优优| 老司机午夜精品| 综合久久一区二区三区| 欧美一区二区三区成人| 91丨九色porny丨蝌蚪| 久久精品72免费观看| 亚洲精品老司机| 久久综合九色综合欧美98| 欧美影院一区二区三区| 成人性生交大片免费看在线播放| 爽好久久久欧美精品| 中文字幕一区在线| 欧美精品一区二区三区在线| 欧美日韩在线亚洲一区蜜芽| 成人av资源在线观看| 国产在线播放一区三区四| 亚洲一二三级电影| ...xxx性欧美| 国产亚洲精久久久久久| 欧美成人a∨高清免费观看| 欧洲一区在线电影| 91啪亚洲精品| 97aⅴ精品视频一二三区| 国产69精品久久久久毛片| 久久超碰97人人做人人爱| 日韩精品一卡二卡三卡四卡无卡| 亚洲综合自拍偷拍| 一区二区三区久久| 一级日本不卡的影视| 亚洲欧美日韩国产中文在线| 欧美激情一区二区三区| 久久久久久久久伊人| 亚洲精品在线观看网站| 精品久久久久久久人人人人传媒| 日韩一区二区在线观看视频| 欧美丰满嫩嫩电影| 欧美一区二区三区思思人| 777午夜精品免费视频| 欧美日韩国产一级| 欧美日韩国产美| 欧美一区午夜视频在线观看| 欧美久久一二区| 欧美一区二区日韩| 日韩美女视频在线| 26uuu色噜噜精品一区二区| 2021久久国产精品不只是精品| 精品国产污污免费网站入口 | 国产精品911| 成人av网站免费观看| 色综合久久久久久久| 欧洲一区二区三区在线| 欧美猛男男办公室激情| 欧美一区二区三区四区久久| 精品国产乱码久久久久久图片| 国产情人综合久久777777| 欧美国产一区在线| 一区二区三区在线观看动漫| 亚洲成人久久影院| 激情文学综合插| 成人av集中营| 欧美日韩久久一区| 精品国产电影一区二区| 中文字幕一区不卡| 亚洲成av人综合在线观看| 免费成人在线视频观看| 国产91色综合久久免费分享| 91碰在线视频| 精品嫩草影院久久| 亚洲视频在线一区二区| 日韩激情视频在线观看| 国产精品一二二区| 欧美制服丝袜第一页| 欧美成人三级在线| |精品福利一区二区三区| 青青草91视频| 91在线码无精品| 日韩精品一区二区在线观看| 国产精品国产三级国产aⅴ无密码| 亚洲国产精品尤物yw在线观看| 国内不卡的二区三区中文字幕| 91香蕉视频在线| 久久久久久久久伊人| 五月天网站亚洲|