| # JavaTM RMI Implementation Logging in JDKTM 6 | Documentation Contents

As of JavaTM SE Development Kit (JDK) v1.4, Sun's Java Remote Method Invocation (Java RMI) implementation uses the 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 JDK 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 logging category, client-side call logging, which is analogous 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
(none) | `sun.rmi.runtime` | miscellaneous runtime 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 © 2006 Sun Microsystems, Inc. All Rights Reserved. Please send comments to: rmi-comments@java.sun.com | Java Software