|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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 プロパティーが設定されている場合、そのプロパティー値はクラス名とみなされます。指定されたクラスがロードされ、オブジェクトが 1 つインスタンス化されますが、そのオブジェクトのコンストラクタが初期構成を読み込みを行います。このオブジェクトは、構成を制御するためにほかのシステムプロパティーを使用する場合があります。代替構成クラスは、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
すべての名前付きロガーについて、reset オペレーションはすべての 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 Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。