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