'Rules Portfolio - Logging' allows you to keep track of executed rules. An automatic archiving process records log files that can be loaded on demand.
To apply the archiving process based on the scheduler, the task '[built-in] Rules logging clean-up' must be used.
Rules execution logging may be required in the case of a business audit, but it is also useful when you need to debug executed rules.
Special Notation | |
---|---|
The execution of the "Rules Portfolio - Logging" is done in asynchronous. A memory queue is used to detach the process of writing into the logging tables. To configure the size of the memory queue, please refer to 'Customization of the logging queue size'. |
You can configure rules logging using the 'Logging level' group in the 'TIBCO EBX® Rules Portfolio Add-on' data set, located under the Administration tab (see the 'Logging level' section).
Business rules logging is separated from permission rules logging which allows you to activate logging differently based on a rule's nature.
A second data set 'Rules Portfolio - Logging archive' allows you to collect and manage logging archive files. This data set relies on the same data structure as 'Rules Portfolio - Logging'.
Every time a rule execution starts a "Root log transaction" record is created. Rule execution can begin when initiated by a table trigger or 'on demand' by initiating the validation report, or the add-on's 'Execute rules' service.
Property | Definition |
---|---|
UUID | The UUID must be a unique identifier. |
Repository identity | Identifies the EBX® repository. |
User ID | Identifies the user who executed the rules. Note: When rules are executed from the EBX® "Validation report", the user ID is unknown. |
Execution time | Shows when the rule execution started. Rule execution can be initiated by a table trigger or on demand by running the validation report, or the add-on's 'Execute rules' service. |
Date space | Data space in which the rules have been executed. |
Data set | Data set in which the rules have been executed. |
Rule publication | Saves the information to identify which snapshot is the running rule environment at execution time. |
This group of fields contains the properties to configure business rules logging.
This table records the logging data for every business "rule execution".
Property | Definition |
---|---|
Root log transaction | A link to the related 'Root log transaction'. |
Rules execution | A link to the related rules execution. |
Event | A link to the related event in the rules portfolio. |
Table | A link to the table. |
Record | A link to the record. |
Field | A link to the field on which the rules have been executed. |
Rule set | A link to the rule set in the rules portfolio. |
Context result | If 'Accepted': the context has been validated and rules have been executed. If 'Not accepted': the context has not been validated and rules have not been executed. |
Rules execution result | If 'Yes': all rules have been executed and there are no errors. If 'No': errors have occurred during rule execution. |
This table records the logging data for every business rule that has been executed.
Property | Definition |
---|---|
Business execution context | A link to the related 'Business execution context'. |
Rule | A link to the rule. |
Rule execution result | The result of the rule execution: If 'True': the rule has been executed without error. If 'False': an error has occurred during rule execution. |
Error message | The error message that displays if the 'Rule execution result' is 'False'. |
Error type | A link to the error type. |
This table records the logging data for every 'simple expression' execution.
Property | Definition |
---|---|
Business execution context | A link to the related 'Business execution context'. |
Simple expression | A link to the simple expression. |
Context result | The simple expression's result: If 'Accepted': the simple expression was accepted. If 'Not accepted': the simple expression was not accepted. |
Logical operator | A link to a logical operator if the execution of many simple expressions is required to compute the context. |
This group of fields contains the properties to configure permission rules logging.
This table records the logging data for every permission "rule execution".
Property | Definition |
---|---|
Rule log transaction | A link to the related 'Root log transaction'. |
Rules execution | A link to the related rules execution. |
Service | A link to the service on which the rules have been executed. |
Table | A link to the table on which the rules have been executed. |
Field | A link to the field on which the rules have been executed. |
Record | A link to the record on which the rules have been executed. |
Rule set | A link to the rule set in the rules portfolio. |
Restriction mode | The permission rules set restriction mode: If 'Most restricted': the most restricted permissions are returned. If 'Most unrestricted': the most unrestricted permissions are returned. |
Context result | If 'Accepted': the context has been validated and the rules were executed. If 'No accepted': the context has not been validated and the rules have not executed. |
Rules execution result | The result of the permission rule execution. For access permission:
For action permission:
|
This table records the logging data for every permission rule that is executed.
Property | Definition |
---|---|
Business execution context | Link to the related 'Business execution context'. |
Rule | Link to the rule. |
Rule execution result | The result of the permission rule: For access permission:
For action permission:
|
This table records the logging data for every 'simple expression" execution.
Property | Definition |
---|---|
Business execution context | Link to the related 'Business execution context'. |
Simple expression | Link to the simple expression. |
Context result | Result of the simple expression: If 'Accepted': the simple expression has been accepted. If 'No accepted': the simple expression has not been accepted. |
Logical operator | Link to a logical operator if execution of many simple expressions is required to compute the context. |
This table records the archive files that are created automatically.
Property | Definition |
---|---|
Creation time | Date time of the archive creation. |
Archive path | Path to the archive. The path is hidden by the button 'Import' to allow the import operation directly. |
The archive files are stored on the web server (within Tomcat server: %CATALINA_TMPDIR%, in the specified path for the add-on's : ebx-addon-rpfl\auto_archive\ ). For example: <temp_dir>\ebx-addon-rpfl\auto_archive\logRule-archives-1394513868906.zip
The naming convention of the archive file is logRule-archives-<current time milies>
The asynchronous mode used for recording rule execution is based on a memory queue. This queue is issued by an asynchronous process to persist the data in the logging tables.
By default, the size of this queue is set to 100,000 records. Once the maximum size is reached, then rules execution has to wait until new space is available in the queue.
You can change this value by configuring a parameter in the java environment variable (refer to the appendix 'Environment configuration').
The purge service is located on the 'Rule log transaction' table and allows you to delete all log data related to a selected root log record.
This service is available at data set level of the 'Rules Portfolio - Logging archive' data set. This service allows you to delete all imported log data from archive files or imported log data from selected archive files.
This service can be run from the 'Rules Portfolio - Logging' and 'Rules Portfolio - Logging archive' data sets. This service provides the ability to search log data based on given criteria.
The image below shows the 'Query log' service configuration page. You can use multiple query options such as data space, data set, table, execution time, type of rule log, etc. The 'Query log' service uses this input a the log data search criteria.