Java RMI Implementation Logging

The 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 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 Loggers, 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 © 1993, 2014, Oracle and/or its affiliates. All rights reserved.