|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.apache.commons.logging.LogFactory
Log インスタンスを生成するファクトリです。(ログ処理の)製品の発見・設定を行う機能は、
JAXP のような標準的な Java API で使われている機能に類似しています。
実装に関する注記 - この実装の多くは Apache Xerces 内の (JAXP のプラグイン的機能のAPIに相当する) SAXParserFactory と DocumentBuilderFactory の実装をベースとしています。
| フィールドの概要 | |
protected static Hashtable |
factories
生成時に使用された ClassLoader をキーとして格納される
生成済みの LogFactory インスタンス。
|
static String |
FACTORY_DEFAULT
他に設定が見つからなかった場合に使用するデフォルトの LogFactory 実装クラスの完全修飾名。
|
static String |
FACTORY_PROPERTIES
検索対象となるプロパティファイルの名称。 |
static String |
FACTORY_PROPERTY
LogFactory 実装クラス名を特定するために使用するプロパティの名称。 |
protected static String |
SERVICE_ID
JDK1.3 以降で適用される 'サービスプロバイダ' の識別情報。 |
| コンストラクタの概要 | |
protected |
LogFactory()
public で利用できないようにするための protected コンストラクタ。 |
| メソッドの概要 | |
private static void |
cacheFactory(ClassLoader classLoader,
LogFactory factory)
|
abstract Object |
getAttribute(String name)
指定された名称の設定のための属性を返します(もしあれば)。 |
abstract String[] |
getAttributeNames()
現在設定されている全ての属性の名称を配列に格納して返します。 |
private static LogFactory |
getCachedFactory(ClassLoader contextClassLoader)
キャッシュしているファクトリをチェックします(クラスローダをキーとして)。 |
protected static ClassLoader |
getContextClassLoader()
利用できる場合にはスレッドコンテキストクラスローダを返します。 |
static LogFactory |
getFactory()
以下の順番でロードする実装クラスの名称を検索し、 LogFactory インスタンスを (必要ならば生成して) 返します。
|
abstract Log |
getInstance(Class clazz)
指定されたクラスから名称を取得して自身の getInstance(String) を呼ぶ、手順簡略化のためのメソッドです。
|
abstract Log |
getInstance(String name)
現在のファクトリに設定されている属性を使用して Log インスタンスを(必要ならば生成して)返します。
|
static Log |
getLog(Class clazz)
アプリケーションがファクトリを意識せずに指定した名称のロガーを取得できる 手順簡略化のためのメソッドです。 |
static Log |
getLog(String name)
アプリケーションがファクトリを意識せずに指定した名称のロガーを取得できる 手順簡略化のためのメソッドです。 |
private static InputStream |
getResourceAsStream(ClassLoader loader,
String name)
|
protected static LogFactory |
newFactory(String factoryClass,
ClassLoader classLoader)
指定した LogFactory 実装クラスの新しいインスタンスを、
指定したクラスローダからロードして返します。
|
abstract void |
release()
その時点までにこのファクトリが生成して返した全ての Log インスタンスへの内部参照を解放します。
|
static void |
release(ClassLoader classLoader)
指定したクラスローダに関連し、その時点までに生成された各 LogFactory インスタンスの
release() メソッドを呼んだ後、
各インスタンスへの内部参照を (もしあれば) すべて解放します。
|
static void |
releaseAll()
その時点までにこのファクトリが生成して返した全ての LogFactory インスタンスで
release() を呼び出した後、各インスタンスへの内部参照を解放します。
|
abstract void |
removeAttribute(String name)
指定された名称の設定属性を削除します。 |
abstract void |
setAttribute(String name,
Object value)
指定された名称の設定属性をセットします。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
public static final String FACTORY_PROPERTY
public static final String FACTORY_DEFAULT
LogFactory 実装クラスの完全修飾名。
LogFactory
implementation class to use, if no other can be found.
public static final String FACTORY_PROPERTIES
protected static final String SERVICE_ID
protected static Hashtable factories
ClassLoader をキーとして格納される
生成済みの LogFactory インスタンス。
LogFactory instances, keyed by
the ClassLoader with which it was created.
| コンストラクタの詳細 |
protected LogFactory()
| メソッドの詳細 |
public abstract Object getAttribute(String name)
null を返します。
null if there is no such attribute.
name - 取得する属性の名称
public abstract String[] getAttributeNames()
public abstract Log getInstance(Class clazz)
throws LogConfigurationException
getInstance(String) を呼ぶ、手順簡略化のためのメソッドです。
getInstance(String) with it.
clazz - 適切な Log 名称の取得元のクラス
LogConfigurationException - 適切な Log
インスタンスを返せなかった場合
Log instance cannot be returned
public abstract Log getInstance(String name)
throws LogConfigurationException
現在のファクトリに設定されている属性を使用して
Log インスタンスを(必要ならば生成して)返します。
Log instance,
using the factory's current set of configuration attributes.注 - 返される Log インスタンスが現在のアプリケーション固有のものであるかどうか、
また同じ名称を引数にこのメソッドを複数回呼んだ場合に同じインスタンスが返されるかどうかは使用している
LogFactory に依存します。
LogFactory you are using, the Log
instance you are returned may or may not be local to the current
application, and may or may not be returned again on a subsequent
call with the same name argument.
name - 返される Log インスタンスの論理名
(名称の意味はラップされる内部のログ処理実装だけが知っています)
Log instance to be
returned (the meaning of this name is only known to the underlying
logging implementation that is being wrapped)LogConfigurationException - 適切な Log
インスタンスを返せなかった場合
Log instance cannot be returnedpublic abstract void release()
Log インスタンスへの内部参照を解放します。
これはサーブレットコンテナのように、クラスローダを捨てるという方法で
アプリケーションのリロードを実装している場合に役立ちます。
(捨てられた) クラスローダの配下のオブジェクトへの参照が宙ぶらりんになる (ダングリング) ため、
(このメソッドを呼び出さないと) ガベージコレクションが行なわれないからです。
public abstract void removeAttribute(String name)
name - 削除する属性の名称
public abstract void setAttribute(String name,
Object value)
null が設定された場合には
removeAttribute(name) を呼びます。
null value is equivalent to calling
removeAttribute(name).
name - 設定する属性の名称
value - 設定する属性の値。 null の場合にはこの属性を削除
null
to remove any setting for this attribute
public static LogFactory getFactory()
throws LogConfigurationException
以下の順番でロードする実装クラスの名称を検索し、
LogFactory インスタンスを (必要ならば生成して) 返します。
LogFactory
instance, using the following ordered lookup procedure to determine
the name of the implementation class to be loaded.org.apache.commons.logging.LogFactory システムプロパティ。commons-logging.properties というプロパティファイル
があった場合には、このファイルの記述内容。
この設定ファイルは標準の java.util.Properties フォーマットで
完全修飾名の実装クラス名がシステムプロパティで定義されたキーで記述されている必要があります。org.apache.commons.logging.impl.LogFactoryImpl)。org.apache.commons.logging.LogFactory system
property.commons-logging.properties
file, if found in the class path of this class. The configuration
file is in standard java.util.Properties format and
contains the fully qualified name of the implementation class
with the key being the system property defined above.org.apache.commons.logging.impl.LogFactoryImpl).注 - LogFactory 実装クラスを見つけるのにプロパティファイルを使った場合、
このファイル内に記述された全てのプロパティが、該当する LogFactory
インスタンスの設定属性にセットされます。
LogFactory implementation class is utilized, all of the
properties defined in this file will be set as configuration attributes
on the corresponding LogFactory instance.
LogConfigurationException - 実装クラスが見つからない、またはインスタンス化できない場合
public static Log getLog(Class clazz)
throws LogConfigurationException
clazz - ログ名称の取得元のクラス
LogConfigurationException - 適切な Log インスタンスを返せなかった場合
Log instance cannot be returned
public static Log getLog(String name)
throws LogConfigurationException
name - 返される Log インスタンスの論理名
(名称の意味はラップされる内部のログ処理実装だけが知っています)
Log instance to be
returned (the meaning of this name is only known to the underlying
logging implementation that is being wrapped)LogConfigurationException - 適切な Log インスタンスを返せなかった場合
Log instance cannot be returnedpublic static void release(ClassLoader classLoader)
LogFactory インスタンスの
release() メソッドを呼んだ後、
各インスタンスへの内部参照を (もしあれば) すべて解放します。
release() on
each of them.
classLoader - 解放対象の LogFactory が属するクラスローダ
public static void releaseAll()
LogFactory インスタンスで
release() を呼び出した後、各インスタンスへの内部参照を解放します。
これはサーブレットコンテナのように、クラスローダを捨てるという方法で
アプリケーションのリロードを実装している場合に役立ちます。
(捨てられた) クラスローダの配下のオブジェクトへの参照が宙ぶらりんになる (ダングリング) ため、
(このメソッドを呼び出さないと) ガベージコレクションが行なわれないからです。
release() on
each of them. This is useful environments like servlet containers,
which implement application reloading by throwing away a ClassLoader.
Dangling references to objects in that class loader would prevent
garbage collection.
protected static ClassLoader getContextClassLoader()
throws LogConfigurationException
LogConfigurationException - 適切なクラスローダを認識できなかった場合。
private static LogFactory getCachedFactory(ClassLoader contextClassLoader)
private static void cacheFactory(ClassLoader classLoader,
LogFactory factory)
protected static LogFactory newFactory(String factoryClass,
ClassLoader classLoader)
throws LogConfigurationException
LogFactory 実装クラスの新しいインスタンスを、
指定したクラスローダからロードして返します。
失敗した場合にはこの (abstract の) LogFactory をロードする際に使用したクラスローダでロードを試みます。
LogFactory
implementation class, loaded by the specified class loader.
If that fails, try the class loader used to load this
(abstract) LogFactory.
factoryClass - LogFactory 実装クラスの完全修飾名
LogFactory implementation classclassLoader - ファクトリクラスをロードする際に使用するクラスローダ
LogConfigurationException - 適切なクラスローダを認識できなかった場合。
private static InputStream getResourceAsStream(ClassLoader loader,
String name)
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||