JavaTM 2 Platform
Standard Ed. 5.0

java.util.logging
クラス LogManager

java.lang.Object
  上位を拡張 java.util.logging.LogManager

public class LogManager
extends Object

Logger とログサービスの共有状態のセットを管理するために使用される単一のグローバル LogManager オブジェクトがあります。

この LogManager には次の機能があります。

グローバル LogManager オブジェクトは LogManager.getLogManager() を使用して取得できます。LogManager オブジェクトは、クラスを初期化するときに作成され、その後変更ができません。

LogManager クラスは、起動時に java.util.logging.manager システムプロパティを使用して配置されます。

デフォルトで、LogManager は JRE ディレクトリのプロパティファイル lib/logging.properties からその初期設定を読み込みます。プロパティファイルを編集する場合、その JRE のすべての使用に対してデフォルトのログ構成を変更できます。

また、LogManager は初期構成の読み込みをより詳細に制御できる、次の 2 つのシステムプロパティオプションを使用します。

この 2 つのプロパティは、Preferences API により、java コマンドに対するコマンド行プロパティの定義として、または JNI_CreateJavaVM に渡されるシステムプロパティの定義として設定することができます。

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 オブジェクトのすべてのメソッドはマルチスレッドセーフです。

導入されたバージョン:
1.4

フィールドの概要
static String LOGGING_MXBEAN_NAME
          LoggingMXBeanObjectName の文字列表現です。
 
コンストラクタの概要
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
 

フィールドの詳細

LOGGING_MXBEAN_NAME

public static final String LOGGING_MXBEAN_NAME
LoggingMXBeanObjectName の文字列表現です。

関連項目:
定数フィールド値
コンストラクタの詳細

LogManager

protected LogManager()
protected コンストラクタです。これは、J2EE コンテナなどコンテナのアプリケーションがオブジェクトをサブクラスに入れられるように保護されます。これは、値が LogManager.getLogManager の呼び出しによって取得される LogManager オブジェクトはただ 1 つしかないとされているので、public 型ではありません。

メソッドの詳細

getLogManager

public static LogManager getLogManager()
グローバル LogManager を返します。


addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener l)
                               throws SecurityException
ログプロパティの再読み込み時に呼び出されるイベントリスナーを追加します。同一のイベント Listener のインスタンスを複数追加すると、プロパティイベントリスナーテーブルに複数のエントリが存在するようになります。

パラメータ:
l - イベントリスナー
例外:
SecurityException - セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合
NullPointerException - PropertyChangeListener が null の場合

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener l)
                                  throws SecurityException
プロパティ変更イベントのイベントリスナーを削除します。addPropertyChangeListener の複数の呼び出しを使用して、同一のリスナーインスタンスがリスナーテーブルに追加されている場合、そのリスナーのすべてのインスタンスをリスナーテーブルから削除するには、等しい数の removePropertyChangeListener 呼び出しが必要になります。

指定されたリスナーが見つからない場合は何も行わずに復帰します。

パラメータ:
l - イベントリスナー (null の場合がある)
例外:
SecurityException - セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合

addLogger

public boolean addLogger(Logger logger)
名前付きロガーを追加します。これは、同じ名前のロガーがすでに登録されている場合、何もせずに false を返します。

Logger のファクトリメソッドは、このメソッドを呼び出して、新規に作成された各 Logger を登録します。

アプリケーションは、Logger オブジェクトについての自らの参照を保持して、参照がガベージコレクトされないようにする必要があります。LogManager は、弱参照のみを保持することができます。

パラメータ:
logger - 新しいロガー
戻り値:
引数ロガーが正常に登録された場合は true、その名前のロガーがすでに存在する場合は false
例外:
NullPointerException - ロガーの名前が null の場合

getLogger

public Logger getLogger(String name)
名前付きロガーを検出するメソッドです。

信頼できないコードが任意の名前のロガーを作成する場合があるので、このメソッドはセキュリティ上重要なロギング用の Logger の検出には使用しないでください。

パラメータ:
name - ロガーの名前
戻り値:
一致するロガー、または見つからない場合は null

getLoggerNames

public Enumeration<String> getLoggerNames()
既知のロガーの名前の列挙を返します。

注: Logger は新しいクラスがロードされると動的に追加されます。このメソッドは現在登録されているロガーのみについて通知します。

戻り値:
ロガー名の文字列の列挙

readConfiguration

public void readConfiguration()
                       throws IOException,
                              SecurityException
ログのプロパティを再度初期化してログ構成を再度読み込みます。

構成プロパティの配置には起動時に使われた同じ規則が使用されます。このため、通常ログのプロパティは起動時に使用された同じファイルから再読み込みされます。

新しい構成ファイルのすべてのログレベルの定義は、ターゲットの Logger がある場合は Logger.setLevel() を使用して適用されます。

PropertyChangeEvent はプロパティが読み込まれてからトリガされます。

例外:
SecurityException - セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合
IOException - 構成を読み込むときに入出力の問題が発生した場合

reset

public void reset()
           throws SecurityException
ログの構成をリセットします。

すべての名前付きロガーに関しては、リセットオペレーションはすべての Handler を削除し閉じてから、ルートロガー以外をレベル null に設定します。ルートロガーのレベルは Level.INFO に設定されます。

例外:
SecurityException - セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合

readConfiguration

public void readConfiguration(InputStream ins)
                       throws IOException,
                              SecurityException
ログのプロパティを再度初期化して、ログ構成を指定されたストリームから再度読み込みます。これは java.util.Properties 形式でなければいけません。PropertyChangeEvent はプロパティが読み込まれてからトリガされます。

新しい構成ファイルのすべてのログレベルの定義は、ターゲットの Logger がある場合は Logger.setLevel() を使用して適用されます。

パラメータ:
ins - プロパティを読み込むストリーム
例外:
SecurityException - セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合
IOException - ストリームからの読み込みに問題がある場合

getProperty

public String getProperty(String name)
ログプロパティの値を取得します。プロパティが見つからない場合、このメソッドは null を返します。

パラメータ:
name - プロパティ名
戻り値:
プロパティの値

checkAccess

public void checkAccess()
                 throws SecurityException
現在のコンテキストがログ構成の変更において信頼できるかどうかを調べます。これには LoggingPermission("control") が必要です。

このチェックに失敗した場合は SecurityException をスローします。そうでない場合は正常に復帰します。

例外:
SecurityException - セキュリティマネージャが存在する場合で、呼び出し元が LoggingPermission("control") を持たない場合

getLoggingMXBean

public static LoggingMXBean getLoggingMXBean()
ロガーを管理する LoggingMXBean を返します。LoggingMXBeanplatform MBeanServer メソッドからも取得できます。

戻り値:
LoggingMXBean オブジェクト
関連項目:
ManagementFactory

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。