JavaTM SE Development Kit (JDK) v1.4 では、Sun の Java Remote Method Invocation (Java RMI) 実装でロギング API を使用して、実装のログを出力します。ログ構成ファイルおよびプログラムによる API (java.util.logging
) は、Java RMI 実装ログの構成に使用することができます。
JDK の前のバージョンで認識されていた、java.rmi.server.logCalls
システムプロパティーおよび実装固有の sun.rmi.*
ログプロパティーは引き続き使用可能です。この機能により、前のバージョンと同様、Java RMI 実装の Logger
オブジェクトのデフォルトレベルの設定、および Java RMI 実装ログの System.err
への出力が可能です。
Java RMI 実装によって使用される Logger
オブジェクトの名前、および前バージョンでサポートされていたログプロパティーとの対応について、次の表に示します。
Java RMI 実装は、ログ記録カテゴリである、クライアント側呼び出しログ記録をサポートしていることに注目してください。これは、java.rmi.server.logCalls
プロパティーによって起動されるサーバー側呼び出しログ記録と類似しています。クライアント側呼び出しログ記録は、sun.rmi.client.call
という名前の Logger
に出力されます。
システムプロパティー名 | Logger 名前 |
ログ記録される情報 |
---|---|---|
java.rmi.server.logCalls |
sun.rmi.server.call |
サーバー側のリモート呼び出しおよび例外 |
sun.rmi.server.logLevel |
sun.rmi.server.ref |
サーバー側のリモート参照動作 |
sun.rmi.client.logCalls (J2SE 1.4 で新たに導入) |
sun.rmi.client.call |
クライアント側のリモート呼び出しおよび例外 |
sun.rmi.client.logLevel |
sun.rmi.client.ref |
クライアント側のリモート参照動作 |
sun.rmi.dgc.logLevel |
sun.rmi.dgc |
分散ガベージコレクション動作 |
sun.rmi.loader.logLevel |
sun.rmi.loader |
デフォルトの RMIClassLoader プロバイダの動作 |
sun.rmi.transport.logLevel |
sun.rmi.transport.misc |
トランスポート層の動作 |
sun.rmi.transport.tcp.logLevel |
sun.rmi.transport.tcp |
TCP バインディングおよび接続動作 |
sun.rmi.transport.proxy.logLevel |
sun.rmi.transport.proxy |
HTTP トンネリング動作 |
(なし) | sun.rmi.runtime |
その他のランタイムアクティビティー |
sun.rmi.client.call
および sun.rmi.server.call
の Logger
では、リモート呼び出しからスローされた例外は Level.FINE
レベルでログ記録され、各リモート呼び出しは、Level.FINER
レベルでログ記録されます。java.rmi.server.logCalls
または sun.rmi.client.logCalls
システムプロパティーを "true"
値に設定すると、対応する Logger
がレベル Level.FINER
に設定されます。
名前の末尾に ".logLevel"
の付く sun.rmi.*
ログプロパティーの場合、"BRIEF"
値に設定すると対応する Logger
がレベル Level.FINE
に設定され、"VERBOSE"
値に設定すると対応する Logger
がレベル Level.FINER
に設定されます。ロギング用のこれらの sun.rmi.*
システムプロパティーを使用するよりも、ロギング構成ファイルを使用することをお勧めします。