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.* システムプロパティーを使用するよりも、ロギング構成ファイルを使用することをお勧めします。