Skip to Content
Author's profile photo Former Member

An introduction to Voyager logging

When a problem with a piece of software occurs the first diagnostic step is often to enable logging and examine the output. This article gives a brief overview of the various types of logging that are available in Voyager.

Logging and the Voyager architecture

To have a thorough understanding of Voyager’s logging facilities it is best to quickly review Voyager’s architecture and identify where the various types of logging lie.

Voyager has a fairly standard N tier architecture with a web application server, a back end server (the Multidimensional Analysis Services or MDAS server) and the OLAP server at the bottom.

Voyager logging is available at the web server level and MDAS server level. Logging may be available for the OLAP server if the OLAP server provider such a facility. For example if the OLAP server is Microsoft Analysis Services then you can use SQL Server Profiler to capture information about what is going on in the OLAP server.

On the above diagram the MDAS server is split into two sections the first labeled Multi-Dimensional Analysis Services and the other OLAP Data Access. These two components have their own independent logging capabilities. As the OLAP data access component is utilized in other Business Objects products it needs to be able to operate independently and therefore logs to its own log files and is configured separately.

Logging in the Web Server

There is logging provided by Voyager’s java components that reside in the Web Application Server. This is not turned on by default. This is turned on by adding an additional java option to the web application server which points to a logging configuration file.

Creating the configuration file

Create a text file in a location that you want your logging configuration file to reside for example in the logging directory that already exists in a default Business Objects installation:

C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\Logging

Call the file something that will easily identify it as a logging configuration for the Voyager client. For example:

voyagerClientLog4j.properties

Here is a sample contents for the file:

# remove/add ca or rfa  to disable and enable console appending and rolling file appending respectively
# change between INFO, DEBUG, ERROR or NONE to manage logging verbosity
log4j.logger.com.businessobjects.multidimensional=DEBUG, ca, rfa

#Settings for the console appender
log4j.appender.ca=org.apache.log4j.ConsoleAppender
log4j.appender.ca.layout=org.apache.log4j.PatternLayout
log4j.appender.ca.layout.ConversionPattern=%d [%t] %-5p %c – %m%n

#Settings for the rolling file appender
log4j.appender.rfa=org.apache.log4j.RollingFileAppender
log4j.appender.rfa.File=C:/Program Files/Business Objects/BusinessObjects Enterprise 12.0/Logging/voyager.log
log4j.appender.rfa.layout=org.apache.log4j.PatternLayout
log4j.appender.rfa.layout.ConversionPattern=%d [%t] %-5p %c – %m%n

Using this sample properties file there will be logging with a DEBUG verbosity to the following file:

C:/Program Files/Business Objects/BusinessObjects Enterprise 12.0/Logging/voyager.log

The name and location of this file can be changed as required. Note the direction of the slashes in the file path is important. If you use windows style rather than unix style that the above example uses then you may not get the log file created.

Changing the java options for Tomcat

The java options on your web application server now need to be changed to pick up the configuration file that was just created. This example explains how to do this if your web application server is Tomcat.

The option that needs to be added will look something like the following:

-Dbusinessobjects.multidimensional.trace.configuration.file=C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\Logging\voyagerClientLog4j.properties

This contains the name of the configuration file that was just created and the path to that file.

In Tomcat the option can be added by invoking the Tomcat Configuration program from the Start -> Program Files -> Tomcat menu.

On the Java tab, add the above option as indicated in the following screen shot.

Once you have added the option, close the configuration program and restart Tomcat. The next time you run Voyager you should notice the log file being created.

MDAS logging

By default there are already four log files associated with the MDAS server. These can be found in the Business Objects Enterprise logging directory located here:

C:/Program Files/Business Objects/BusinessObjects Enterprise 12.0/Logging/

One file will be called mdas.log. The other three files will start with the three letters APS and contain the name of your CMS and MultiDimensionalAnalysisServicesServer. The file names will also contain a date and the process ID of the MDAS instance. If you have multiple MDAS servers running on the machine there will be a set of these three files for each MDAS instance. Example file names might look like the following:

  • APS_MYCMS.MultiDimensionalAnalysisServicesServer_20090527_020140_4496_stderr.log
  • APS_MYCMS.MultiDimensionalAnalysisServicesServer_20090527_020140_4496_stdout.log
  • APS_MYCMS.MultiDimensionalAnalysisServicesServer_20090527_020146_4496.log

These three log files are generated by the server framework that some of Business Objects servers use. You should see similar files for other Business Objects servers such as the Adaptive Processing Server. Information in these logs include things like  corba communication errors, out of memory errors and information about service startups and shutdowns.

The mdas.log file by default just contains errors logged by the MDAS server’s java component. The amount of information contained in this log can be increased by editing the following file:

C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\java\services\MDAS\resources\com\businessobjects\
multidimensional\services\mdas.log4j.properties

For example, to get more than errors in the log change the word ERROR to DEBUG in the following line:

log4j.logger.com.businessobjects.multidimensional=ERROR, file

OLAP Data Access logging

Voyager’s data access component is written in C++ as opposed to the rest of the Voyager components which are Java. Logging in Voyager’s data access component is therefore not controlled through property files but through registry settings.

Logging is turned off by default but there will be a log file created. This file is located in the same directory as the MDAS log files above and by default will be called MDA.log.

The configuration information for the logging is contained under the following registry key:

[HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12.0\MDA\Log]

If you examine this location in the registry you should see a string value called LogFile which contains the file name and path location of the log file. This can be edited to change the name or location of the log file.

To very quickly turn on some logging a DWORD registry value can be created in the Log folder. The value needs to be called Verbosity and can contain one of the following values:

  • Never: 0
  • Critical: 1
  • Serious: 2
  • Warning: 3
  • Info: 4
  • Debug: 5
  • Debug Extra: 10

If you are entering the values in hexadecimal remember the value for a verbosity of Debug Extra will be a rather than 10.

As with the mdas.log this logging can be further fine tuned by restricting the log output to particular sections or sub sections of the data access component. Look for future articles for more details on this.

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.