robot
2023.10
false
Robot User Guide
Last updated Oct 25, 2024

Robot Logs

Logs are time-stamped files that contain informational events, error and warning messages relevant to the application.

The types of logs are presented in the following pages:

Robot Execution Logs

Robot Execution Logs are messages generated by the execution of a process. They contain information related to its behavior and user-defined messages in the workflow.

Execution logs are generated by:

  • The Write Line activity, which creates logs at the Trace level.
  • The Log Message activity, which creates logs at the level specified in the Level property field of the activity.
  • Running an automation project, which generates logs that contain the behavior of each activity. These logs use Trace level if the Level setting in the Orchestrator Settings window in Assistant is set to Verbose.

Execution Logs Logging Level

The default logging level is controlled by the Level setting stored in Orchestrator Settings window. By default, it is set to Information.

Note: The log level set in Orchestrator for the robot overrides the one set in the UiPath® Assistant.

Only logs that match the level specified in either Assistant or Orchestrator settings get sent to Orchestrator.

Changing the Default Logging Level from the Assistant:

  1. From the UiPath® Assistant, go to the Preferences menu and then access Orchestrator Settings
  2. Select the desired logging level from the Log Level drop-down menu, under the Logging section.

    Note: If the Robot is installed in service mode, administrator permissions are needed to edit this setting.

Orchestrator target

If the Robot is connected to Orchestrator, only logs matching the level set in Assistant or Orchestrator appear on the Logs page.

If Orchestrator is unavailable, logs are stored in a local database (C:\Windows\System32\config\systemprofile\AppData\Local\UiPath\Logs\execution_log_data), within the available disk space, until the connection is restored. When the connection is restored, the logs are sent in batches in the order they had been generated.
Note: The database is not deleted after the logs have been successfully sent to Orchestrator.

NLog target

Additionally, log targets and content can be configured by editing the <Installation Folder>\NLog.config file.
The target location of the logs is controlled by the <Installation Folder>\NLog.config file. The Diagnostic logs are collected by the Internal type logger and are forwarded by using NLog targets.
By default, Execution Logs are stored in a file in the %LocalAppData%\UiPath\Logs folder. The messages are collected by the WorkflowLogging logger and can be forwarded by using NLog targets, as specified by the following parameters in the NLog.config file:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <variable name="WorkflowLoggingDirectory" value="${specialfolder:folder=LocalApplicationData}/UiPath/Logs" />
  <rules>
    <logger name="WorkflowLogging" writeTo="WorkflowLogFiles" final="true" />
  </rules>
  <targets>
    <target type="File" name="WorkflowLogFiles" fileName="${WorkflowLoggingDirectory}/${shortdate}_Execution.log" layout="${time} ${level} ${message}" keepFileOpen="true" openFileCacheTimeout="5" concurrentWrites="true" encoding="utf-8" writeBom="true" />
  </targets>
</nlog><?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <variable name="WorkflowLoggingDirectory" value="${specialfolder:folder=LocalApplicationData}/UiPath/Logs" />
  <rules>
    <logger name="WorkflowLogging" writeTo="WorkflowLogFiles" final="true" />
  </rules>
  <targets>
    <target type="File" name="WorkflowLogFiles" fileName="${WorkflowLoggingDirectory}/${shortdate}_Execution.log" layout="${time} ${level} ${message}" keepFileOpen="true" openFileCacheTimeout="5" concurrentWrites="true" encoding="utf-8" writeBom="true" />
  </targets>
</nlog>

Deleting old workflow log files

To avoid creating a large amount of log files consuming disk space on the machine, you can choose to archive log files once a specific number files has been reached.

This is done by adding the following parameters in the <target> tag NLog.config:
  • archiveNumbering="Date"
  • archiveEvery="Day"
  • archiveDateFormat="yyyy-MM-dd"
  • archiveFileName="${WorkflowLoggingDirectory}/{#}_Execution.log"
  • maxArchiveFiles="10"

    <?xml version="1.0" encoding="utf-8" ?>
    <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <variable name="WorkflowLoggingDirectory" value="${specialfolder:folder=LocalApplicationData}/UiPath/Logs" />
      <rules>
        <logger name="WorkflowLogging" writeTo="WorkflowLogFiles" final="true" />
      </rules>
      <targets>
        <target type="File"
          name="WorkflowLogFiles"
          fileName="${WorkflowLoggingDirectory}/${shortdate}_Execution.log"
          layout="${time} ${level} ${message}"
          keepFileOpen="true"
          openFileCacheTimeout="5"
          concurrentWrites="true"
          encoding="utf-8"
          writeBom="true"
          archiveNumbering="Date"
          archiveEvery="Day"
          archiveDateFormat="yyyy-MM-dd"
          archiveFileName="${WorkflowLoggingDirectory}/{#}_Execution.log"
          maxArchiveFiles="10"
        />
      </targets>
    </nlog><?xml version="1.0" encoding="utf-8" ?>
    <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <variable name="WorkflowLoggingDirectory" value="${specialfolder:folder=LocalApplicationData}/UiPath/Logs" />
      <rules>
        <logger name="WorkflowLogging" writeTo="WorkflowLogFiles" final="true" />
      </rules>
      <targets>
        <target type="File"
          name="WorkflowLogFiles"
          fileName="${WorkflowLoggingDirectory}/${shortdate}_Execution.log"
          layout="${time} ${level} ${message}"
          keepFileOpen="true"
          openFileCacheTimeout="5"
          concurrentWrites="true"
          encoding="utf-8"
          writeBom="true"
          archiveNumbering="Date"
          archiveEvery="Day"
          archiveDateFormat="yyyy-MM-dd"
          archiveFileName="${WorkflowLoggingDirectory}/{#}_Execution.log"
          maxArchiveFiles="10"
        />
      </targets>
    </nlog>
    Note: The maxArchiveFiles is the parameter controlling the number of archive files.
    Note: Editing the NLog.config file requires administrator permissions. The robot service does not need to be restarted for the changes to take effect.

Further Editing of Logs

If the logging level is set to Verbose, the messages contain all the details about the activities that were run at execution. This log output can be customized by editing the UiPath.Executor.exe.config file, from C:\Program Files\UiPath\Studio folder.
For this, the following XML code must be added under the <system.serviceModel> tag.
<tracking>
    <profiles>
        <trackingProfile name="StandardProfile">
         <workflow>
          <activityStateQueries>  
            <activityStateQuery activityName="*">
                <states>  
                    <state name="Faulted"/>  
                </states>
                <arguments>  
                    <argument name="*"/>  
                </arguments> 
                 <variables>  
                    <variable name="*"/>  
                </variables>             
            </activityStateQuery>
          </activityStateQueries>    
         </workflow>
        </trackingProfile>       
    </profiles>
</tracking><tracking>
    <profiles>
        <trackingProfile name="StandardProfile">
         <workflow>
          <activityStateQueries>  
            <activityStateQuery activityName="*">
                <states>  
                    <state name="Faulted"/>  
                </states>
                <arguments>  
                    <argument name="*"/>  
                </arguments> 
                 <variables>  
                    <variable name="*"/>  
                </variables>             
            </activityStateQuery>
          </activityStateQueries>    
         </workflow>
        </trackingProfile>       
    </profiles>
</tracking>
Since the <states> tag contains only <state name="Faulted"/>, inserting the above code enables only the activities which have the Faulted state to be logged. Adding other parameters under the <states> tag, such as <state name="Executing"/> causes activities that have other states to be logged as well.

Not only activity states can be modified, but also variables and arguments. More information about customization can be found here.

Note: Modifying the UiPath.Executor.exe.config file requires a restart of the robot service for changes to take effect.

Robot Diagnostic Logs

The robot diagnostic logs provide information related to the Robot itself and its context. They are useful to identify the cause of a specific error.

Robot diagnostic logs are saved in the following locations:

  • On Windows, diagnostic logs related to errors are logged in the Event Viewer.
  • On all platforms, including Windows, verbose diagnostic logs are written to a file:

    • %LocalAppData%\UiPath\Logs\internal\Robot.log on Windows when the robot is installed in user mode.
    • %PROGRAMDATA%\UiPath\Logs\internal\Robot.log on Windows when the robot is installed in service mode.
    • ~/.local/share/UiPath/Logs/internal/Robot.log on other platforms.

Driver Diagnostic Logs

Driver Tracing is written to an .etl file.
To enable Driver Tracing, open Command Prompt with administrator rights, access the installation directory using the cd argument, such as cd C:\Program Files\UiPath\Studio, and run the UiRobot.exe --enableLowLevel command.
To disable Driver Tracing, open Command Prompt with administrator rights, access the installation directory using the cd argument, such as cd C:\Program Files\UiPath\Studio, and run the UiRobot.exe --disableLowLevel command.
Note:

We recommend enabling Low Level Tracing only while investigating a problem, and disabling it when the investigation session is over.

Additionally, the .etl file containing the trace information is generated only after you disable the feature.

The Robot does not have to be restarted for the changes to take effect.

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo White
Trust and Security
© 2005-2024 UiPath. All rights reserved.