|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.logging.LogManager
public class LogManager
Logger とログサービスの共有状態のセットを管理するために使用される単一のグローバル LogManager オブジェクトがあります。
この LogManager には次の機能があります。
グローバル LogManager オブジェクトは LogManager.getLogManager() を使用して取得できます。LogManager オブジェクトは、クラスを初期化するときに作成され、その後変更ができません。
LogManager クラスは、起動時に java.util.logging.manager システムプロパティを使用して配置されます。
デフォルトで、LogManager は JRE ディレクトリのプロパティファイル lib/logging.properties からその初期設定を読み込みます。プロパティファイルを編集する場合、その JRE のすべての使用に対してデフォルトのログ構成を変更できます。
また、LogManager は初期構成の読み込みをより詳細に制御できる、次の 2 つのシステムプロパティオプションを使用します。
java.util.logging.config.class プロパティが設定される場合、プロパティの値はクラス名として扱われます。指定されたクラスがロードされ、オブジェクトのインスタンスが生成され、そのオブジェクトのコンストラクタが初期構成の読み込みを行います。このオブジェクトは、構成を制御するためにほかのシステムプロパティを使用する場合があります。代替構成クラスは readConfiguration(InputStream) を使用して、LogManager のプロパティを定義できます。
java.util.logging.config.class プロパティが設定されない場合、java.util.logging.config.file システムプロパティを使用して、java.util.Properties 形式でプロパティファイルを指定できます。初期ログ構成はこのファイルから読み込まれます。
これらのプロパティのいずれも定義されない場合、前述のとおり、LogManager は JRE ディレクトリのプロパティファイル lib/logging.properties からその初期構成を読み込みます。
ロガーと Handler のプロパティは、ハンドラやロガーに関してドットで区切られた名前から始まる名前を持ちます。
グローバルログのプロパティには次のものがあります。
LogManager の構成時にロードされたすべてのクラスは、すべてのユーザクラスパス以前にまずシステムのクラスパスで検索されることに注意してください。これには LogManager クラス、すべての config クラス、すべての handler クラスが含まれます。
Logger は、ドットで区切られた名前に基づくネーミング階層に格納されます。その結果、「a.b.c」は「a.b」の子になりますが、「a.b1」および「a.b2」はピアになります。
名前が「.level」で終わるすべてのプロパティは、Logger のログレベルを定義すると見なされます。したがって、「foo.level」は「foo」と呼ばれるロガー、およびネーミング階層にあるその子のログレベルを再帰的に定義します。ログレベルは、プロパティファイルで定義された順序で適用されます。したがって、ツリー内の子ノードに対するレベルの設定は親に対する設定のあとに行う必要があります。プロパティ名「.level」を使用して、ツリーのルートのレベルを設定できます。
LogManager オブジェクトのすべてのメソッドはマルチスレッドセーフです。
フィールドの概要 | |
---|---|
static String |
LOGGING_MXBEAN_NAME
LoggingMXBean の ObjectName の文字列表現です。 |
コンストラクタの概要 | |
---|---|
protected |
LogManager()
protected コンストラクタです。 |
メソッドの概要 | |
---|---|
boolean |
addLogger(Logger logger)
名前付きロガーを追加します。 |
void |
addPropertyChangeListener(PropertyChangeListener l)
ログプロパティの再読み込み時に呼び出されるイベントリスナーを追加します。 |
void |
checkAccess()
現在のコンテキストがログ構成の変更において信頼できるかどうかを調べます。 |
Logger |
getLogger(String name)
名前付きロガーを検出するメソッドです。 |
Enumeration<String> |
getLoggerNames()
既知のロガーの名前の列挙を返します。 |
static LoggingMXBean |
getLoggingMXBean()
ロガーを管理する LoggingMXBean を返します。 |
static LogManager |
getLogManager()
グローバル LogManager を返します。 |
String |
getProperty(String name)
ログプロパティの値を取得します。 |
void |
readConfiguration()
ログのプロパティを再度初期化してログ構成を再度読み込みます。 |
void |
readConfiguration(InputStream ins)
ログのプロパティを再度初期化して、ログ構成を指定されたストリームから再度読み込みます。 |
void |
removePropertyChangeListener(PropertyChangeListener l)
プロパティ変更イベントのイベントリスナーを削除します。 |
void |
reset()
ログの構成をリセットします。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
public static final String LOGGING_MXBEAN_NAME
LoggingMXBean
の ObjectName
の文字列表現です。
コンストラクタの詳細 |
---|
protected LogManager()
メソッドの詳細 |
---|
public static LogManager getLogManager()
public void addPropertyChangeListener(PropertyChangeListener l) throws SecurityException
l
- イベントリスナー
SecurityException
- セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合
NullPointerException
- PropertyChangeListener が null の場合public void removePropertyChangeListener(PropertyChangeListener l) throws SecurityException
addPropertyChangeListener
の複数の呼び出しを使用して、同一のリスナーインスタンスがリスナーテーブルに追加されている場合、そのリスナーのすべてのインスタンスをリスナーテーブルから削除するには、等しい数の removePropertyChangeListener
呼び出しが必要になります。
指定されたリスナーが見つからない場合は何も行わずに復帰します。
l
- イベントリスナー (null の場合がある)
SecurityException
- セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合public boolean addLogger(Logger logger)
Logger のファクトリメソッドは、このメソッドを呼び出して、新規に作成された各 Logger を登録します。
アプリケーションは、Logger オブジェクトについての自らの参照を保持して、参照がガベージコレクトされないようにする必要があります。LogManager は、弱参照のみを保持することができます。
logger
- 新しいロガー
NullPointerException
- ロガーの名前が null の場合public Logger getLogger(String name)
信頼できないコードが任意の名前のロガーを作成する場合があるので、このメソッドはセキュリティ上重要なロギング用の Logger の検出には使用しないでください。
name
- ロガーの名前
public Enumeration<String> getLoggerNames()
注: Logger は新しいクラスがロードされると動的に追加されます。このメソッドは現在登録されているロガーのみについて通知します。
public void readConfiguration() throws IOException, SecurityException
構成プロパティの配置には起動時に使われた同じ規則が使用されます。このため、通常ログのプロパティは起動時に使用された同じファイルから再読み込みされます。
新しい構成ファイルのすべてのログレベルの定義は、ターゲットの Logger がある場合は Logger.setLevel() を使用して適用されます。
PropertyChangeEvent はプロパティが読み込まれてからトリガされます。
SecurityException
- セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合
IOException
- 構成を読み込むときに入出力の問題が発生した場合public void reset() throws SecurityException
すべての名前付きロガーに関しては、リセットオペレーションはすべての Handler を削除し閉じてから、ルートロガー以外をレベル null に設定します。ルートロガーのレベルは Level.INFO に設定されます。
SecurityException
- セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合public void readConfiguration(InputStream ins) throws IOException, SecurityException
新しい構成ファイルのすべてのログレベルの定義は、ターゲットの Logger がある場合は Logger.setLevel() を使用して適用されます。
ins
- プロパティを読み込むストリーム
SecurityException
- セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合
IOException
- ストリームからの読み込みに問題がある場合public String getProperty(String name)
name
- プロパティ名
public void checkAccess() throws SecurityException
このチェックに失敗した場合は SecurityException をスローします。そうでない場合は正常に復帰します。
SecurityException
- セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合public static LoggingMXBean getLoggingMXBean()
platform MBeanServer
メソッドからも取得できます。
LoggingMXBean
オブジェクトManagementFactory
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。