| # JavaTM RMI Implementation Logging in J2SETM 5.0 | Documentation Contents

As of J2SETM 1.4, Sun's JavaTM Remote Method Invocation (Java RMI) implementation uses the new Logging APIs to provide implementation logging output. The logging configuration file and programmatic API (`java.util.logging`) can be used to configure Java RMI implementation logging.

The `java.rmi.server.logCalls` system property and the implementation-specific `sun.rmi.*` logging properties that were recognized by previous J2SE versions still function to set the default levels for the Java RMI implementation `Logger` objects and to cause their output to be directed to `System.err` as with earlier versions.

The table below shows the names of the `Logger` objects used by the Java RMI implementation and how they correspond to the logging properties supported by previous versions.

Note that the Java RMI implementation supports a new logging category: client-side call logging, analagous to the server-side call logging activated by the `java.rmi.server.logCalls` property. Client-side call logging is output to the `Logger` named `sun.rmi.client.call`.

System Property Name | `Logger` Name | Information Logged
--- | --- | ---
`java.rmi.server.logCalls` | `sun.rmi.server.call` | server-side remote calls and exceptions
`sun.rmi.server.logLevel` | `sun.rmi.server.ref` | server-side remote reference activity
`sun.rmi.client.logCalls` (new in J2SE 1.4) | `sun.rmi.client.call` | client-side remote calls and exceptions
`sun.rmi.client.logLevel` | `sun.rmi.client.ref` | client-side remote reference activity
`sun.rmi.dgc.logLevel` | `sun.rmi.dgc` | distributed garbage collection activity
`sun.rmi.loader.logLevel` | `sun.rmi.loader` | activity of default `RMIClassLoader` provider
`sun.rmi.transport.logLevel` | `sun.rmi.transport.misc` | transport-layer activity
`sun.rmi.transport.tcp.logLevel` | `sun.rmi.transport.tcp` | TCP binding and connection activity
`sun.rmi.transport.proxy.logLevel` | `sun.rmi.transport.proxy` | HTTP tunnelling activity

For both the `sun.rmi.client.call` and the `sun.rmi.server.call` `Logger`s, exceptions thrown from remote calls are logged at the level `Level.FINE`, and each remote call is logged at the level `Level.FINER`. Setting the `java.rmi.server.logCalls` or `sun.rmi.client.logCalls` system properties to the value `"true"` causes the corresponding `Logger` to be set to the level `Level.FINER`.

For the `sun.rmi.*` logging properties that have names ending in `".logLevel"`, a value of `"BRIEF"` causes the corresponding `Logger` to be set to the level `Level.FINE`, and a value of `"VERBOSE"` causes the corresponding `Logger` to be set to the level `Level.FINER`. Use of the logging configuration file is now preferred over the use of these `sun.rmi.*` system properties for logging.

Copyright © 2004 Sun Microsystems, Inc. All Rights Reserved. Please send comments to: rmi-comments@java.sun.com |