Logging

Server-Side Journal Logging

The Universal Messaging server log is located at Software AG_directory\UniversalMessaging\server\instanceName\nirvana.log. If any issues occur, first check the nirvana.log file of the realm. This is often the most descriptive and helpful source for problem analysis.

You can change the logging level for a realm in the Logging Config group on the Config tab in Enterprise Manager. The fLoggerLevel property specifies the level of logging to be used. Lower numbers here produce more verbose and detailed log messages.

Important: More logging can result in worse performance and latency of the realm because more logging information is generated and written to disk.

Using the RealmInformationCollector to Collect Server Logs

You can use the RealmInformationCollector command-line diagnostic tool to automatically collect log information about the Universal Messaging installation, the server, the Java service wrapper, the Universal Messaging plug-in for Platform Manager, and migration.

For more information about using the RealmInformationCollector, see The Realm Information Collector Diagnostic Tool.

Syntax

The command for collecting log information has the following syntax:

runUMTool RealmInformationCollector -mode=live -instance=instanceName
-include=logName[,logName][,logName][,...]
-logsduration=ndnh

Arguments and Options

-mode=live
Required. The server must be running when you execute the command.
-instance=instanceName
Required. The name of the server instance for which you want to execute the command.
-include=logName
Required. A comma-separated list of the names of the logs that you want to collect. You can list all available logs or a set of logs. The logs to specify are:
  • logs. Collects logs of a realm server. The location of the file is Software AG_directory\UniversalMessaging\server\instanceName\data\nirvana.log. Additionally, it collects logs created by the trace logger, if present. The location of the trace logging directory is Software AG_directory/UniversalMessaging\server\instanceName\data\traceLogging by default.
  • tanukilogs. Collects Java service wrapper logs of a realm server. This file is located at Software AG_directory\UniversalMessaging\server\instanceName\bin\UMRealmService.log.
  • installlogs. Collects installation log files for a product. These files are located in Software AG_directory\install\logs.
  • spmlogs. Collects logs for the Universal Messaging plug-in for Platform Manager.
  • migrationlogs. Collects IBM migration logs.
-logsduration=ndnh
Required. The duration in days and hours for which you want to collect log information.

Examples

  • To collect all log information for the server with the instance name "umserver" for a period of two days and four hours:
    runUMTool RealmInformationCollector -mode=live -instance=umserver
    -include=logs,tanukilogs,installlogs,spmlogs,migrationlogs -logsduration=2d4h
  • To collect installation and server logs for the server with the instance name "umserver" for a period of two days and four hours:
    runUMTool RealmInformationCollector -mode=live -instance=umserver
    -include=logs,installlogs -logsduration=2d4h

Configuring Logging in the Server_Common.conf File

You can configure server-side logging in the Server_Common.conf configuration file located in the Software AG_directory\UniversalMessaging\server\instanceName\bin directory. You can specify the following parameters related to logging:

  • LOG_FRAMEWORK. A third-party logging framework to use. Valid values are LOGBACK, LOG4J2, and fLogger. The default is fLogger.
  • LogFileDepth. The number of log files to keep on disk when using log rolling. The oldest log files are deleted when new log files are created.
  • LOGLEVEL. The current log level to use. The default is 5.
  • LOGFILE. A log file to which to write the log entries. The default is System.out.
  • LOGSIZE. The maximum size in bytes of the log file before the log file is rolled. The default is 100000.

You specify these parameters in the Server_Common.conf file in the following format:

wrapper.java.additional.n=-Dparameter=value

where n is a unique positive integer.

For example, you can have the following entry:

wrapper.java.additional.26=-DLOGLEVEL=3

Audit Logging

Each Universal Messaging realm server maintains a log file containing information about administration operations performed on the realm. The log entries are called Audit Events and are stored at Software AG_directory\UniversalMessaging\server\instanceName\NirvanaAudit.mem . These audit events are useful for tracking historical information about the realm and who performed what operation and when.

The Universal Messaging Enterprise Manager provides an Audit Panel that displays the contents of the remote audit file and receives real time updates as and when audit events are generated. The audit events that are written to the audit file are determined by the configuration specified in the Config Panel of the Universal Messaging Enterprise Manager.

Client-Side Logging

The Universal Messaging client API supports a variety of parameters that you can specify in the command line of any Universal Messaging client application. The -D parameters that you can use for client-side logging are listed in the following table.

Parameter Description

LOGLEVEL

Specifies the current log level to use (0=highest log level, 7=lowest log level). The default value is 7 (OFF).

LOGFILE

Specifies a client log file. The default value is System.out.

LOGSIZE

Specifies the size in bytes before the log file is rolled. The default value is 100000.

DisplayCurrentThreadID

Specifies whether client-side thread ID logging is enabled. Valid values are true or false. The default value is true.

In addition, you can use the javax.net.debug=ssl generic JSSE command-line option to debug SSL issues. This option is available through the Java Secure Socket Extension (JSSE) component of the Java SE platform.

The default client log name has the format ClientLog_ModuleName.log