Stambia DI Runtimes stores its executed sessions with a dedicated and structured Session Logger.
This article explains how to set up the Runtime to write Session logs.
Runtime Configuration
Definition of the log database
The main entry point to configure the various parameters of the Runtime Session Logs is log4j file.
This file is located, on a default installation, at the following location:
<Stambia Runtime Installation Folder>/properties/log4j.xml
There is log4j loggers, each related to the following events have been added : Session Start, Session End, Action Start and Action End.
</logger>
<logger name="com.indy.engine.session.session.start"/>
<level value="off|all|info|error"/>
<appender-ref ref="sessionFileAppender"/>
<appender-ref ref="sessionConsoleAppender"/>
</logger>
<logger name="com.indy.engine.session.session.end">
<level value="off|all|info|error"/>
<appender-ref ref="sessionFileAppender"/>
<appender-ref ref="sessionConsoleAppender"/>
</logger>
<logger name="com.indy.engine.session.action.start">
<level value="off|all|info|error"/>
<appender-ref ref="sessionFileAppender"/>
<appender-ref ref="sessionConsoleAppender"/>
</logger>
<logger name="com.indy.engine.session.action.end">
<level value="off|all|info|error"/>
<appender-ref ref="sessionFileAppender"/>
<appender-ref ref="sessionConsoleAppender"/>
</logger>
These loggers can configured like the others in the log4j.xml file. They are all disabled by default.
The pattern of these appenders can be configured to enrich the log message with additional information, described below.
The pattern syntax to use is %X{parameterName}. Note that %X alone can be used to get all the parameters.
Logs can be generated in the Runtime console ("sessionConsoleAppender") and / or in the <Stambia Runtime Installation Folder>/log/com.indy.engine.session.log file ("sessionFileAppender").
</appender>
<appender name="sessionFileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="log/com.indy.engine.session.log"/>
<param name="maxFileSize" value="1MB"/>
<param name="immediateFlush" value="true"/>
<param name="maxBackupIndex" value="2"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{dd/MM/yyyy HH:mm:ss,SSS} %-5p - %m %X{sessionId} %X{sessionName}%n"/>
</layout>
</appender>
<appender name="sessionConsoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{dd/MM/yyyy HH:mm:ss,SSS} %-5p - %m %X{sessionId} %X{sessionName}%n"/>
</layout>
</appender>
Parameter Name | Description |
All events | |
version | Version of the logging system |
type | Type of event |
message | event message |
seesionId | Id of the session |
sessionIteration | Iteration of the session |
sessionName | Name of the session |
Session start | |
sessionStatus | Status of the session (always “RUNNING” for this event) |
sessionParentId | Id of the parent session |
sessionBeginDate | Start date of the session |
processId | Id of the process |
processName | Name of the process |
deliveryId | Id of the delivery |
deliveryName | Name of the delivery |
deliveryBuildDate | Build date of the delivery |
deliveryBuildUser | Build user of the delivery |
configuration | Configuration used for the execution |
runtimeHost | Hostname of the runtime used for the execution |
runtimePort | Port of the runtime used for the execution |
executionMode | Mode of execution (MEMORY/AUTONOMOUS) |
launchMode | Launch mode (RESTART/COMMAND_LINE/SCHEDULE/DESIGNER/ACTION/WEB_INTERACTIVE/WEB_SERVICE/ENGINE_COMMAND) |
sessionLogLevel | Log level of the session |
maxparallelExecutions | Max parallel executions setting |
autoRestartInterval | Auto restart interval setting |
autoRestartMaxTries | Auto restart max tries setting |
launchUserName | Name of the user who launched the session |
Session End | |
sessionStatus | Status of the session |
sessionErrorMessage | Error message of the session |
sessionEndDate | End date of the session |
sessionDuration | Total duration of the session |
var.<varName> | Variables |
stat.<aggregateName> | Statistics |
All Action Events | |
actionId | Id of the action |
actionIteration | Iteration of the action |
actionType | Type of the action (Code/Process) |
actionPath | Path of the action |
actionPathWithIteration | Unique identifier of the action (<path>_<iteration>) |
actionStatus | Status of the action (“RUNNING” for the Action Start event) |
Action Start | |
actionBeginDate | Start date of the action |
actionParentID | Id of the parent session |
actionParentIteration | Iteration of the parent session |
actionIsBegin | Is the action begin |
actionNumber | Unique number of the action |
Action End | |
actionErrorMessage | Error message of the Action (Note: this isn’t the error that occurs during the action execution, but is usually an error that happens before, for example if the action couldn’t be properly generated) |
actionEndDate | End date of the action |
actionDuration | Total duration of the action |
actionBindIteration | Final bind iteration of the action |
actionExecutionCount | Execution count of the action (when used in a loop) |
var.<varName> | Variables |
stat.<aggregateName> | Statistics |
For example on the Runtime Console:
In the com.indy.engine.session.log file: