Getting logging information for Decision Center

You can get a log of Decision Center activities.

Decision Center uses the standard logging service Java™ logger (java.util.logging). You can log messages based on message type and level, and control how these messages are formatted and stored at run time.

To capture traces of activities that occur in Decision Center, define a logging.properties file and make it available to the JVM through the following option in the startup file of your application server:

-Djava.util.logging.config.file=logging.properties

For example, the logging properties could be:

handlers = java.util.logging.ConsoleHandler

# Set the default logging level for the root logger
.level = ALL

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

# Limit the messages that are printed on the console to INFO and above.
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

For an introduction to the Java Logging API, visit: An Introduction to the Java Logging API.

You can find comprehensive information for the Java logger in the Oracle Developer Center http://www.oracle.com/technetwork/java/index.html.

Understanding the logs: Java logger

The Java logger provides logs based on level. The Level class for the java.util.logging package contains fields for the preset levels SEVERE, WARNING, INFO, CONFIG, FINE, FINER, and FINEST. To log a message for a particular level, you call the log method with the level and message you want:

logger.log(Level.SEVERE, “Severe level message.”);

When you run the log methods, the output can look like this:

July 30, 2015 4:00:54 PM JavaLoggingSample <init>

SEVERE: Severe level message.

The first line lists the date and time information for the event, followed by the name of the class and the best guess of logging API as to the routine that made the call (<init> ). The second line gives the level of the log and a statement explaining the event. The logging API does not guarantee the accuracy of the trace information because stack traces can be affected by runtime environments.

Default settings

Java logger messages are stored in the Decision Center consoles by default, and properties are set in the logging.properties file embedded in the Decision Center WAR:

  • <InstallDir>\teamserver\applicationservers\<appserver>\jrules-teamserver-XXX.war

You can override this behavior by defining their own logging.properties file and adding the argument to a Java running command line for the server:

  • Djava.util.logging.config.file=logging.properties

Setting a log filter for Decision Center

To obtain Decision Center log messages exclusively, you modify the logging.properties within teamserver.war\WEB-INF\lib\teamserver-web-core-<product version>.jar.

If necessary, start by redeploying your application and emptying your application server cache.

Write the following as your logging.properties:

handlers= 1perso.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

java.util.logging.ConsoleHandler.level = FINEST

1perso.org.apache.juli.FileHandler.level = ALL

1perso.org.apache.juli.FileHandler.directory = ${catalina.base}/logs

1perso.org.apache.juli.FileHandler.prefix = CustomDecisionCenterLog.

1perso.org.apache.juli.FileHandler.formatter = java.util.logging.SimpleFormatter

.level:INFO

ilog.rules.level:ALL

ilog.rules.handlers = 1perso.org.apache.juli.FileHandler,java.util.logging.ConsoleHandler  

This creates a log file for Decision Center in the logging folder called CustomDecisionCenterLog-<date>.log.