Online Tutorials & Training Materials |
Register Login

Enabling SDK tracing for Java application servers in BusinessObjects Enterprise XI

|| || 0

Enabling SDK tracing for Java application servers in BusinessObjects Enterprise XI

In what way SDK tracing for Java application servers in BusinessObjects Enterprise XI Release 2 can be enabled?

Where can the Log Files are found?

In the current user's home directory in the .businessobjects folder log files are stored and according to their level they are named, for example jce_basic.log. The log file is appended with a numerical suffix and a new log file after it reaches the maximum allowed size. Starting with the oldest file before the archive is rolled over a maximum of nine log files is archived.

  • The log file location can be changed by using this path: businessobjects.logs.home=<path to new logfile folder>
  • The filename can be changed by using this path: businessobjects.logs.filename=<new filesname>

In what way the Java SDK logger can be configured?

Setting the System Properties

Using system properties the BI Platform Java SDK Logger is configured. For the current working environment system properties are key/value pairs that define traits or attributes. In Java they act as the "environment variable", but they are not inherited through process creation unlike environment variable. Therefore for each JVM process that is launched the system properties must be set. Process wise system properties are usually found.

To set the system properties there are two ways:

1. When the launching of JVM is done (the recommended method)


2. Pro-grammatically (at the beginning of the program this must be done so that by the Java SDK the value is picked up)

When the JVM is launched the System properties should be set

Command Line:

(you can list as many as properties you want, but they must precede they main class name or jar name)

<JDK_HOME>/bin/java -D<system property key1>=<system property value1> -D<system property key2>=<system property value 2>

Example: <JDK_HOME>/bin/java -Dcrystal.enterprise.trace.configuration=verbose

This command can be put in a batch file (.bat for Windows/.sh for Unix) so that it doesn't need to be set every time.


The Java call should be used: java.lang.System.setProperty("key1", "value1");

In Tomcat the system properties should be set

The file catalina.bat should be opened in the CATALINA_HOMEbin directory, for example c:Program FilesBusiness ObjectsTomcatbincatalina.bat

to the BAT file the following line should be added: set JAVA_OPTS=-D<my options>

for example: JAVA_OPTS should be set=-Dcrystal.enterprise.trace.configuration = basic

In what way different pre-defined logging level can be used?

By setting the log level logging verbosity is controlled. In configuration files four logging levels are predefined. In celib.jar under META-INF/ CrystalEnterprise.Trace the configuration files are found.

Listed below are the four levels:

  • basic - default enables it
  • advanced - flanked by basic and detail
  • detail – includes some debugging information
  • verbose – includes all messages

For changing the logging level

crystal.enterprise.trace.configuration =<level>

where <level> = basic, advanced, detail, or verbose

In what way my own logging level can be created?

A configuration file that defines a custom logging level can be created. In the appendix an example advanced configuration file is found.

A custom configuration can be loaded file type:

"crystal.enterprise.trace.configuration=<configuartion file URL>".

Tracing off type can be turned:


In what way other application's logging settings can be used?

On the Web Application server the log4j utility may be used by other applications which are a common logging tool. From other applications the BI Platform Java SDK can use the logging settings instead of setting its own.

Another application's log settings type can be used:


What does a sample configuration file look like?

JCE Tracing level: ADVANCE

The detail order for JCE is:


This configuration file that outputs to a log file under user's home directory.

The output information consists of relative time, log level, thread name, logger name, nested diagnostic context and the message in that order.

  •, CE1
  •, CE1

# A1 is set to be a RollingFileAppender which outputs to a log file which will automatically
# rollover when the file size exceeds a limit

  • log4j.appender.CE1=com.crystaldecisions.celib.trace.CERollingFileAppender

# File name

  • log4j.appender.CE1.File=${businessobjects.logs.home}/jce_advance.log

# Maximum size

  • log4j.appender.CE1.MaxFileSize=512KB

# Keep 100 backup files

  • log4j.appender.CE1.MaxBackupIndex=100

# Date Pattern

  • log4j.appender.CE1.DatePattern='.'yyyy-MM-dd-HH

# A1 uses XML layout

  • log4j.appender.CE1.layout=org.apache.log4j.xml.XMLLayout

# Alternate log location

  • businessobjects.logs.home=${user.home}/.businessobjects

# Override the level for the following classes because it is really verbose


Related Articles