In its standard configuration, Dynamo defines four logging levels:




This represents fault conditions that indicate an immediate problem. Dynamo logs all error messages by default.


This represents fault conditions that might indicate a future problem. Dynamo logs all warning messages by default.


This represents events that occur during the normal operation of the component. For instance, server messages indicating handled requests are usually sent as Info messages. Dynamo logs all info messages by default.


This represents events specific to the internal workings of the component that should only be needed for debugging situations. Dynamo does not log debug messages by default.

At any given time, a log source might emit logging events at any or all four levels: error, warning, info, or debug. An administrator can enable or disable logging messages for any level on a component-by-component basis.

To do this, Dynamo establishes a convention among components that these logging levels should be enabled and disabled through the properties loggingError, loggingWarning, loggingInfo, and loggingDebug. Components following this convention implement the following methods:

public void setLoggingError (boolean loggingError);
public boolean isLoggingError ();
public void setLoggingWarning (boolean loggingWarning);
public boolean isLoggingWarning ();
public void setLoggingInfo (boolean loggingInfo);
public boolean isLoggingInfo ();
public void setLoggingDebug (boolean loggingDebug);
public boolean isLoggingDebug ();

Whenever a component wants to send a log message, it should first check to make sure that logging is enabled for that log message’s level. This allows the component to avoid the potentially expensive work needed to create the log message if that logging level is disabled. For example:

// Log an error
if (isLoggingError ()) {
  // create and broadcast the logging message

loading table of contents...