- Release Notes
- Getting Started
- Installation and Upgrade
- Access and Permissions
- Interacting with Insights
- Logs
- Configuring Log Rules
- Log Collector
Configuring Log Rules
Robot logs capture diagnostic and execution logs. You can configure the conditions for which Robot logs are ingested by Insights. For example, you only want to capture logs for Processes that include a specific name.
For more information, see Robot logs.
To find out how to capture logs if needed to debug with the support team, check out Capturing logs page.
- After Insights installation.
- After Insights upgrade.
- When you want to add or configure existing log rules.
The default settings for Robot logs ingested by Insights include Ingest only last logs and error logs. The following sections show default log rules based on the Insights version that you are running.
In this example, the last logs and Error logs for all processes are ingested. This version of Insights ingests the last Info level from a Robot that has executed a process, alongside process and any Error level logs, as shown in the following example.
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Ignore">
<when condition="level >= LogLevel.Error or ends-with('${message}',' execution ended')" action="Log" />
<when condition="'${ui-robot-logs-num-custom-fields}' > 1 and not ends-with('${message}', ' execution started')" action="Log" />
</filters>
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Ignore">
<when condition="level >= LogLevel.Error or ends-with('${message}',' execution ended')" action="Log" />
<when condition="'${ui-robot-logs-num-custom-fields}' > 1 and not ends-with('${message}', ' execution started')" action="Log" />
</filters>
In this example, all logs (Info level and above) for all processes are ingested. This version of Insights ingests all logs (Info level and a) generated by the Robot for all processes, as shown in the following example.
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs"/>
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs"/>
- Only administrators should change the values in the Orchestrator configuration file.
- Back up the
UiPath.Orchestrator.dll.config
file before proceeding. You can find the file inC:\)\)Program Files (x86)\)\)UiPath\)\)Orchestrator
. - Restart the website after making changes to Orchestrator configuration file.
- All parameters are case sensitive.
- For best performance, Robot Logs generated over a two-year timeframe shouldn't exceed 200 million records.
- Use the NLog configuration file to capture data that is relevant for Insights in your environment and reduce the number of records generated by Robot Logs.
- Navigate to C:\Program Files
(x86)\UiPath\Orchestrator and open the
UiPath.Orchestrator.dll.config
file to modify Orchestrator settings. - Find the Robot Logs
parameters (e.g.,
<logger name="Robot.*" environmentSpecificConfiguration/>
) - Configure a filter with a default
action (e.g.,
filters defaultAction="Ignore"
). - Configure conditions based on the log level or other events (see Log rules example).
- Save the file and restart Orchestrator.
For more information on configuring the Orchestrator configuration file, see UiPath.Orchestrator.dll.config.
The following examples show custom log rule configurations for Info and Error level logs. By setting specific conditions, Insights ingests logs only for the processes that you configure.
payment disp
, 68fields
, or 68fields_20
.
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Ignore">
<when condition="equals('${event-properties:item=processName}', 'payment disp') or equals('${event-properties:item=processName}', '68fields') or equals('${event-properties:item=processName}', '68fields_20')" action="Log" />
</filters>
</logger>
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Ignore">
<when condition="equals('${event-properties:item=processName}', 'payment disp') or equals('${event-properties:item=processName}', '68fields') or equals('${event-properties:item=processName}', '68fields_20')" action="Log" />
</filters>
</logger>
payment disp
, 68fields
, or 68fields_20
.
Only Error level logs and the last log of each Robot are logged in to Insights.
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Ignore">
<when condition="(level >= LogLevel.Error or ends-with('${message}',' execution ended')) and (contains('${event-properties:item=processName}', 'payment disp') or equals('${event-properties:item=processName}', '68fields') or equals('${event-properties:item=processName}', '68fields_20'))" action="Log" />
</filters>
</logger>
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Ignore">
<when condition="(level >= LogLevel.Error or ends-with('${message}',' execution ended')) and (contains('${event-properties:item=processName}', 'payment disp') or equals('${event-properties:item=processName}', '68fields') or equals('${event-properties:item=processName}', '68fields_20'))" action="Log" />
</filters>
</logger>
payment disp
.
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Log">
<when condition="equals('${event-properties:item=processName}', 'payment disp')" action="Ignore" />
</filters>
</logger>
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Log">
<when condition="equals('${event-properties:item=processName}', 'payment disp')" action="Ignore" />
</filters>
</logger>
- Overview
- When to Configure Log Rules
- Default Log Rules
- Default Log Rules for Versions 2022.4 and above
- Default Log Rules for Version 2021.10
- Configure Log Rules
- Log Rules Examples
- Ingest All Logs and Any Error Logs for a Particular Process
- Ingest Only Last and Error Logs for a Particular Process
- Do Not Ingest Logs for a Particular Process
- Related Articles