Real-Time Client Logs
The real-time client generates log files that can be used for analyzing and debugging automation solutions executed by the real-time client. The real-time client generates logs whether running on the designer's machine or the agent's desktop.
The logs provide details on every aspect of the solution being run. For example, a log is added when:
-
The solution is initiated.
-
Any error occurs.
-
A variable's value changes.
-
A workflow ends.
-
An event handler is triggered.
-
A callout is displayed.
The logs are highly configurable.
The logging mechanism is based on the Log4Net solution. For additional information beyond what is provided below, consult Log4Net documentation and other Internet resources.
Log File Location
The location of the RTClient log file depends on the version of Automation Studio in use:
Automation Studio Version |
Location of RTClient Log File |
---|---|
Lower than 7.3 | %APPDATA%\Nice_Systems\Real-Time\log\ |
7.3 and Higher | %APPDATA%\Nice_Systems\AutomationStudio\log\ |
The file is named RTClient.log.
The log folder and file are only created when a solution is run for the first time.
The file is rolled (cleared) automatically when it reaches a specified size. A backup is made of the file and is named with a backup counter, for example, RTClient.log.1. The file name and rolling policy can be configured.
Log Configuration
Real-Time Client logging is highly configurable.
The location of the RTClient configuration file depends on the version of Automation Studio in use:
Automation Studio Version |
Location of RTClient Configuration File |
---|---|
Lower than 7.3 | %APPDATA%\Nice_Systems\Real-Time\RTClient.exe.config |
7.3 and Higher | %APPDATA%\Nice_Systems\AutomationStudio\RTClient.exe.config |
Use any text editor to edit the configuration file.
Changes made to the configuration generally only take effect after restarting the Real-Time Client, for example, after clicking Start Project.
You can configure the following:
-
The contents of each log
-
The minimum severity level of logs to include
-
Advanced configuration
Configure Log Contents
The following information is provided by default for each event logged:
-
Date and time
-
The name of the application thread that triggered the log
-
The level of the log event
-
The name of the logger that generated the log
-
The event details
Some examples are displayed below:
log |
Thread |
Level | Logger | Description |
---|---|---|---|---|
2020-06-14 12:22:43,705 [ShellThread] SYSTEM System - Starting Session (RT Client version 7.2.0.712)... |
ShellThread |
System | System | The solution started running. |
log |
Thread |
Level | Logger | Description |
---|---|---|---|---|
2020-06-14 14:02:55,903 [Direct Logic Thread] INFO Workflows - Step Step 1 stopped |
Direct Logic |
INFO | Workflows | The workflow step Step - 1 ended. |
2020-06-14 14:02:55,903 [Direct Logic Thread] DEBUG BizEntities - Business Entity property changed - name: 'Log.SaleDate, old value: '6/14/2020 12:22:00 PM', new value: '6/1/2020 12:00:00 AM' | Direct Logic | DEBUG | BizEntities | The value of the Date/Time variable SaleDate changed from 6/14/2020 12:22:00 PM to 6/1/2020 12:00:00 AM. |
2020-06-14 12:45:54,078 [Direct Logic Thread] INFO EventHandlers - The Event Handler 'Event Handler - 1' is being triggered. Event: Var_774838ee_101a_4b5b_9240_e889e79d1d89. |
Direct Logic |
Info | EventHandlers | The event handler Event Handler - 1 was triggered. |
The contents and format of each log entry can be configured.
To configure the contents and format of each log entry:
-
Open the configuration file.
-
Locate the section title <!-- LAYOUT CONFIGURATION -->.
-
Modify the conversionPattern value. By default, it is set as below:
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
Configure Minimum Severity of Logged Events
Each logged event is automatically assigned a severity level. The log levels are listed below in ascending order of severity:
-
DEBUG
-
INFO
-
WARN
-
ERROR
-
FATAL
You can choose the minimum severity of logged events to include in the log. Also, instead of specifying one of the severity levels listed above, you can specify:
-
ALL to include all logs
-
OFF to exclude all logs
The minimum severity of logs to include is specified on two levels:
-
Logger level: The level set per logger, for example, for the Workflows logger which logs workflow-related events.
-
Overall level: The level set for the whole log file.
Where the logger level and overall level conflict, the most exclusive of the two levels will be applied. For example:
-
If the overall threshold level is set to WARN and the Workflows logger level is set to INFO, the overall threshold will apply and only Workflows logs of severity WARN or higher will be included.
-
If the overall threshold level is set to INFO and the Workflows logger level is set to WARN, the Workflows logger level will apply and only Workflows logs of severity WARN or higher will be included.
Configure Minimum Severity of Logged Events per Logger
Logs are generated by multiple loggers where each logger is responsible for a different aspect of an automation solution. For example, there is a logger for workflows and another for event handlers.
You can specify the minimum severity of logged events to include from each logger individually. For example, if you are testing a workflow in detail, you might want to include ALL logs generated by the Workflows logger and only include the FATAL logs generated by the EventHandlers logger.
The table below lists loggers that are most useful when debugging an automation solution.
logger |
Description |
---|---|
BizEntities |
Events related to variables For example: Business Entity property changed - name: 'Log.SaleDate, old value: '6/14/2020 12:22:00 PM', new value: '6/1/2020 12:00:00 AM' The value of the variable SaleDate changed from 6/14/2020 12:22:00 PM to 6/1/2020 12:00:00 AM. |
logger |
Description |
---|---|
EventHandlers |
Events related to event handlers For example: EventHandlers - The Event Handler 'Event Handler - 1' is being triggered. Event: Var_774838ee_ The event handler Event Handler - 1 was triggered. |
LibraryObjects |
Events related to the use of functions from the Built-In services For example: LibraryObjects - DateTime_Functions.GetDate - 2020-01-31T00:00:00 The Get Full Date function from the DateTime built-in service was performed. |
PhysicalObjects |
Events related to captured screen elements For example: INFO PhysicalObjects - Physical Object Created - 'clickbutton.Search_Button' The screen element Search_Button was created. |
Presentation |
Events related to callouts For example: Presentation - New callout created - key = 1 A new callout was displayed. |
Rules |
Events related to decision steps in workflows For example: Rules - RuleSet.EvaluateOwnerRule: The Rule '' was evaluated as False A decision was evaluated and the condition specified was not met. |
Workflows |
Events related to workflows For example: Workflows - Step Step 1 started The step Step 1 was started. |
To configure the minimum severity level per logger:
-
Open the configuration file.
-
Locate the section title <!-- ROOT LOGGER CONFIGURATION -->.
-
Locate the entry for the logger you want to configure and modify its level value. Either specify one of the log levels listed above, or specify ALL or OFF.
For example, the level for the EventHandlers logger is set to Fatal below.
<logger name="EventHandlers"> <level value="Fatal" />
</logger>
Configure Overall Minimum Severity of Logged Events
You can set the minimum level of severity of all logs to include in the log file. This is called the threshold level.
Only events with a severity level equal to or higher than the threshold level are included in the log file.
To configure the overall threshold logging level:
-
Open the configuration file.
-
Locate the section title <!-- APPENDER CONFIGURATION -->.
-
Set the threshold value. Either specify one of the log levels listed above, or specify ALL or OFF.
For example, the threshold level is set to WARN below. Logs with levels of INFO and DEBUG will be excluded as they are of lower severity than WARN.
<threshold value="WARN" />
Advanced Log Configuration
In addition to setting the minimum severity of logged events, many other configurations are available.
The table below lists all configuration settings.
Setting |
Description |
Default Configuration |
---|---|---|
fileNameFormat | The full path of the log file. |
For versions lower than 7.3: <fileNameFormat value="%env{APPDATA}\Nice_Systems\Real-Time\log\RTClient.log" /> For version 7.3 and higher: <fileNameFormat value="%env{APPDATA}\Nice_Systems\AutomationStudio\log\RTClient.log" /> |
Setting |
Description |
Default Configuration |
---|---|---|
appendToFile | Specifies whether the log file should be appended (true) or overwritten (false) each time the logging process starts. Use false if you want the log file to be rolled for every new execution. | <appendToFile value="true" /> |
rollingStyle |
Specifies the criterion that triggers a new log file to be created. Options: Size: The file rolls when a max file size (maximumFileSize) is reached. Date: The file rolls at a fixed period, for example, every day at the change of the date, as specified by datePattern. |
<rollingStyle value="Size" /> |
maxSizeRollBackups |
Specifies the number of old rolled files to be kept. Older files are deleted when the limit is reached. Set to -1 for no limit. |
<maxSizeRollBackups value="10" /> |
maximumFileSize | When rollingStyle is set to size, specifies the file size at which the log file will be rolled. | <maximumFileSize value="10000000" /> |
staticLogFileName | If set to true, logs will always be written to the same file. If set to false, the name of the current log file will be modified, for example, based on date. | <staticLogFileName value="false" /> |
countDirection |
Specifies whether the new files have lower or higher numbers than older files. Options: 1: Newer backups have higher numbers. Log.5 is the 5th backup made, Log.1 is the 1st made. -1: Older backups have higher numbers. Log.1 is the newest backup. Log.2 is the second newest backup. |
<countDirection value="1" /> |
threshold | The minimum log level to include in the file. |
<threshold value="ALL" /> |
datePattern | Applicable only if rollingStyle is set to Date. Specifies how often the file should be rolled. |
If not in use: <datePattern value="" /> For daily roll: <datePattern value=""yyyyMMdd"/> |
conversionPattern | Defines the content and format of each log entry. | <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> |
To perform advanced configuration of Real-Time Client logging:
-
Open the configuration file.
-
Locate the section title <!-- APPENDER CONFIGURATION -->.
-
Locate the setting you want to configure and modify its value.