Tuning the Rule Execution Server logging level

To make it easier for you to fine-tune and analyze logs, each Rule Execution Server component uses its own logger. By using the appropriate logging service for your application server, developers can log messages that are based on message type and level. They can also control how these messages are stored at run time.

Symptoms

For troubleshooting purposes, you want to adjust the Rule Execution Server logging level.

Environment

All Rule Execution Server components use the JDK logging API to log messages. Developers can use that Java™™ API to control message levels and runtime formats and storage. Rule Execution Server uses the following standard Java logging services:
Java logger, also known as JDK logging
The java.util.logging package. For more information about the API, see the Oracle Technology Network.
Java EE Connector Architecture (JCA) logging service
For more information, see the Oracle Technology Network.

Resolving the problem

The following table lists the logger names that are used by each Rule Execution Server component.

Table 1. Loggers for each Rule Execution Server component
Component Logger name
Common modules com.ibm.rules.res.common
Management and XU MBeans com.ibm.rules.res.mbean
Rule Execution Server persistence (file, JDBC, or datasource) com.ibm.rules.res.persistence
Rule Execution Server SQL Request (JDBC or datasource) com.ibm.rules.res.persistence.sql
Ruleset execution: rule session, execution units (XU) com.ibm.rules.res.execution
Management plug-in com.ibm.rules.res.execution.xu.plugin.management
Rule Execution Server console com.ibm.rules.res.console
Hosted transparent decision services com.ibm.rules.res.htds
Testing and simulation through SSP com.ibm.rules.res.dvs
Testing and simulation through Decision Runner com.ibm.rules.res.cdi
Decision Warehouse No logger. Decision Warehouse stores execution traces in a database.
Execution stack (XU and rule sessions)
On WebSphere® Application Server and JBoss, the activity of the execution unit is logged by the Java logger. On the other supported application servers, the execution unit uses the logging service of the Java connector architecture (JCA). The traceLevel and traceAutoFlush properties control the XU logging with JCA.
Note: The Java logging API is not supported for the XU in Java SE mode. To retrieve the log, use the method ilog.rules.res.session.IlrJ2SESessionFactory#IlrJ2SESessionFactory(PrintWriter).
WebSphere Application Server and JBoss 6.1 EAP

You can change the log level through the Java logging options in the administration console of the application server.

Other supported application servers

The XU is packaged in a <InstallDir>\executionserver\applicationservers\<appserver>\jrules-res-xu-<appserver>.rar file.

You can tune the log by using the traceLevel and traceAutoflush properties of the XU connection factory. Use the specific tool of your application server to change the settings of a connection factory. For more information, see the documentation in the XU XML descriptor that is provided by the rule session.

To turn on the full XU log, set the values as follows:
  • traceLevel to ALL
  • traceAutoFlush to true
Other execution components, such as the Rule Execution Server console and hosted transparent decision services (HTDS)

By default, the Rule Execution Server console uses the following .ear file: <InstallDir>\executionserver\applicationservers\<appserver>\jrules-res-management-<appserver>.ear

By default, hosted transparent decision services use the following .ear file: <InstallDir>\executionserver\applicationservers\<appserver>\jrules-res-htds-<appserver>.ear.

To parameterize the log trace for all other execution components, use the JDK logging mechanism, and follow the standard procedure for your application server.