Nexus Documentation
Breadcrumbs

Enable Process Tracker in Smart ID Identity Manager

This article includes updates for Identity Manager 5.2.0.

This article describes how to enable the Process Tracker in Smart ID Identity Manager.

During the configuration phase it could be very helpful to obtain detailed logging information about the process execution. The ProcessTracker writes all variables of the process map before and after each task to the log file. 

Enable logging

Enable logging in log4j2.xml by adding or uncommenting one or more of the following loggers.

These loggers reference the three new appenders also shown in the following example.

You can adjust the maximum logfile size and maximum count of kept previous log files according to your needs.

Usually it is not necessary to have all trackers log their output to ACT_RF and/or STDOUT - logging to their specific TRACKER_... appender should suffice.

If you want to customize the logging of the ProcessTracker, here are the loggers in the file log4j2.xml, that control to which appenders the loggings of the ProcessTracker are routed:

<?xml version="1.0" encoding="UTF-8" ?>
<Configuration monitorInterval="30">
    ...
    <Appenders>
        ...
        <RollingFile name="TRACKER_DEFAULT" fileName="${logFilePath}/idm_pt_default.log"
                     filePattern="${logFilePath}/idm_tracker_default-%i.log" append="true" bufferedIO="false">
            <PatternLayout pattern="(%d) %-20t | %m%n"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="1 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="2"/>
        </RollingFile>

        <RollingFile name="TRACKER_CUSTOM" fileName="${logFilePath}/idm_pt_custom.log"
                     filePattern="${logFilePath}/idm_tracker_custom-%i.log" append="true" bufferedIO="false">
            <PatternLayout pattern="(%d) %-20t | %m%n"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="1 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="2"/>
        </RollingFile>

        <RollingFile name="TRACKER_MACHINE" fileName="${logFilePath}/idm_pt_machineReadable.log"
                     filePattern="${logFilePath}/idm_tracker_machineReadable-%i.log" append="true" bufferedIO="false">
            <PatternLayout pattern="(%d) %-20t | %m%n"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="1 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="2"/>
        </RollingFile>
        ...
    </Appenders>

     <Loggers>
        ...
        <!-- Set level to "debug" to log BPMN process task executions and their details in a table like format: -->
        <Logger name="de.nexus.flowable.processtracker.Default" level="info" additivity="false">
            <AppenderRef ref="ACT_RF"/>
            <AppenderRef ref="STDOUT"/>
            <AppenderRef ref="TRACKER_DEFAULT"/>
        </Logger>

        <!-- Set level to "debug" to log BPMN process task executions etc. in an alternate, customizable format: -->
        <Logger name="de.nexus.flowable.processtracker.Custom" level="info" additivity="false">
            <AppenderRef ref="ACT_RF"/>
            <AppenderRef ref="STDOUT"/>
            <AppenderRef ref="TRACKER_CUSTOM"/>
        </Logger>

        <!-- Set level to "debug" to log BPMN process task executions etc. in a format intended to be machine-readable: -->
        <Logger name="de.nexus.flowable.processtracker.MachineReadable" level="info" additivity="false">
            <AppenderRef ref="ACT_RF"/>
            <AppenderRef ref="STDOUT"/>
            <AppenderRef ref="TRACKER_MACHINE"/>
        </Logger>
        ...
    </Loggers>
</Configuration>

Process Tracker log file description

Only applicable for Identity Manager 5.0.1 and later versions.

The idm_pt_default.log has the following structure:

  • Date and time

  • Thread name

  • V5 (compatibility mode for Activiti 5) or V6 (standard flowable engine)

  • Tenant ID

  • Process instance IDs

  • Execution IDs

  • Process definition ID

  • Task name or the name of the flow element, for example, Event or Gateway

  • Start/End tag

  • Variables and their values in alphabetical order with one list for global variable and one list for local variables