PreviousBeginning

Manage Logging


Overview

The Faban harness makes use of the Java SE logging subsystem. It provides a log server that receives and consolidates log messages from all systems in the rig. While Faban drivers and harness components will be automatically configured to send log messages back to the log server, other infrastructure such as database servers and application servers will need to be configured manually to do so.

The log configuration is one of the few things that cannot yet be done through the GUI. Moreover, logging is configured on a per-system basis. This allows the flexibility of having only one of the systems send out detailed log messages. But it also means you have to logon to individual systems in the rig to configure logging.


The Log Configuration File

The Faban log configuration file is located at FABAN_HOME/config/logging.properties on each of the systems partaking in the benchmark run. It is a java properties file that can be edited using any text editor. Following is how the configuration entries look like by default:

    #Faban logging properties
#Tue May 09 14:28:22 PDT 2006
java.util.logging.SocketHandler.formatter=com.sun.faban.harness.agent.RemoteLogFormatter
handlers=java.util.logging.SocketHandler, java.util.logging.FileHandler
java.util.logging.SocketHandler.host=brazilian.sfbay
com.sun.level=INFO
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.pattern=/tmp/fabanagent%u.log
java.util.logging.SocketHandler.port=9999

The Faban harness automatically edits certain entries of this file to ensure that the logs are indeed transmitted to the log server for consolidation. These entries should not be modified by hand. They are:

Also, java.util.logging.SocketHandler must always stay in the list of handlers in the handlers entry.

The main addition/modification one will want to make to the log file is to change the log level for certain loggers.. The entry com.sun.level=INFO can be edited to be any of the levels supported by the Java SE logging infrastructure. In addition, you may want to set a log level for a certain package/logger, for example - adding com.mycompany.mybenchmark.level=FINE. Just note that the precedence order for the log level is important. Subsequent log level settings override previously defined ones. So if you have multiple log level entries with overlapping scope, you'll need to be very careful about the order they are put into the configuration file.

Other additions you may want to make is to add another log handler or log target. This is less common in a benchmarking environment but may be useful in certain situations.

For details on the Java SE logging infrastructure and the logging configuration file, please refer to the Java logging documentation.

Effects of Log Configuration Modifications

The log configuration file is read and re-read every time a new run is started. You can edit a configuration file while a run is going on. However, the change will not take effect until the file is re-read, which is usually at the beginning of every run.


PreviousBeginning