# Logging Levels

> The following table lists the logging levels in UiPath.

The following table lists the logging levels in UiPath.

| Logging Level | Default Logs | User-Defined Logs |
| --- | --- | --- |
| **Off** | None | None |
| **Critical** | All messages logged with Critical level or higher. | All messages logged with Critical level or higher. |
| **Error** | All messages logged with Error level or higher. | All messages logged with Error level or higher. |
| **Warning** | All messages logged with Warning or higher. | All messages logged with Warning or higher. |
| **Information** | All messages logged with Information or higher. | All messages logged with Information or higher. |
| **Trace** | All messages logged with Trace level or higher. | All messages logged with Trace level or higher. |
| **Verbose** | All messages logged with Trace level and Workflow Tracking logs. | All messages logged with Trace level. |

The **Verbose** level logs a message for both the activity **start** and **end**, plus the values of the variables and arguments that are used.

By default, the Verbose level includes:

* **Execution Started** log entry - generated every time a process is started.
* **Execution Ended** log entry - generated every time a process is finalized.
* **Transaction Started** log entry - generated every time a transaction item is obtained by the robot from Orchestrator.
* **Transaction Ended** log entry - generated every time the robot sets the transaction status to either Success or Failed.
* **Activity Information** log entry - generated every time an activity is **started**, **faulted** or **finished** inside a workflow.
    :::note
    The priority order of the log types is: **Verbose** &lt; **Trace** &lt; **Information** &lt; **Warning** &lt; **Error** &lt; **Critical** &lt; **Off**.
    :::

 <colgroup>
  <col/>
  <col/>
  <col/>
  <col/>
  <col/>
  <col/>
 </colgroup>
 
  
     Log Level  
     Logged  
     Example / Comment  
     Log File  
     Output Panel  
     Orchestrator Log page  
  
 
 
  
    Verbose 
    Activities 
     `Trace &#123;"message":&#123;"DisplayName":"Message box","State":"Executing","Activity":"UiPath.Dialog.Activities.MessageBox","Arguments":&#123;"Caption":"","Text":"String in message BOX  
     Yes  
     No  
     Yes  
  
  
    Verbose 
    Variables 
     `"Variables":&#123;"NewTransaction":"False  
     Yes  
     No  
     Yes  
  
  
    Verbose 
    Arguments (properties) 
     `"Arguments":&#123;"Caption":"","Text":"String in message BOX","ChosenButton":"Ok  
     Yes  
     No  
     Yes  
  
  
    Trace 
    Activities 
     `Trace &#123;"message":&#123;"DisplayName":"Main","State":"Executing","Activity":"System.Activities.DynamicActivity  
     Yes  
     No  
     Yes  
  
  
    Information 
    WriteLineLog Message 
    <code>Info &#123;"message":"message from activity"</code>Note: Except messages logged with Trace level set in activity. 
     Yes  
     Yes  
     Yes  
  
  
    Warning 
    Warnings 
    <code>Warn &#123;"message":"Warning from log message activity"</code> 
     Yes  
     Yes  
     Yes  
  
  
    Warning 
    Errors 
    <code>Error &#123;"message":"Error from log message activity"</code> 
     Yes  
     Yes  
     Yes  
  
  
    Warning 
    Critical 
     Critical Errors  
     Yes  
     Yes  
     Yes  
  
  
    Error 
    Errors 
    <code>Error &#123;"message":"Error from log message activity"</code> 
     Yes  
     Yes  
     Yes  
  
  
    Error 
    CriticalFatal 
     Critical Errors  
     Yes  
     Yes  
     Yes  
  
  
    Critical 
    CriticalFatal 
     Critical Errors  
     Yes  
     Yes  
     Yes  
  
  
    OFF 
     n/a  
     n/a  
     No  
     No  
     No  
  
 

## Log Message Types

There are several possible occurrences of log messages, depending on the event that is logged, as follows:

### Default Logs

Generated by default when the execution of a project starts and ends, when a system error occurs and the execution stops, or when the logging settings are configured to log the execution of every activity.

:::note
These logs have the `Default` value in the `logType` field.
:::

The events logged by this category are:

* **Execution Start** is generated every time a process is started. This is logged starting with the **Information** logging level.
* **Execution End** is generated every time a process is finalized. This is logged starting with the **Information** logging level.
* **Transaction Start** is generated every time a transaction within a process is started. This is logged starting with the **Information** logging level.
* **Transaction End** is generated every time a transaction within a process is finalized. This is logged starting with the **Information** logging level.
* **Error Log** is generated every time the execution encounters an error and stops. This is logged starting with the **Error** logging level.
* **Debugging Log** is generated if the Robot Logging Setting is set to Verbose and contains, activity names, types, variable values, arguments etc. This is logged starting with the **Trace** logging level.

### User-Defined Logs

Generated according to the process designed by the user in Studio, when using the **Log Message** activity or the **Write Line** activity.

:::note
These logs have the `User` value in the `logType` field.
:::

If such logs are generated at an interval lower than 1ms, they may be improperly displayed in the **Output** panel.

## Log Fields

There are multiple types of log fields that can be found throughout the above log message types. These can be classified as follows:

### Default fields

These log fields are present in all execution type logs, such as SQL (if configured), Elasticsearch (if configured), and the default EventViewer Logs:

* `Message` - The log message.
* `Level` - Defines the log severity.
* `Timestamp` - The exact date and time the action was performed.
* `FileName` - The name of the `.xaml` file being executed.
* `jobId` - The key of the job running the process.
* `processName` - The name of the process that triggered the logging.
* `processVersion` - The version number of the process.
* `windowsIdentity` - The name of the user that performed the action that was logged.
* `robotName` - The name of the robot (as defined in Orchestrator).
    :::note
    The `processName` and `processVersion` fields do not appear in logs if the process is run locally, without being connected to Orchestrator.
    :::
  ### Type-specific fields

These logs are present depending on the log type:

* Execution End
  + `totalExecutionTimeInSeconds`
  + `totalExecutionTime`
* Transaction Start
  + `queueName`
  + `transactionID`
  + `transactionState`
* Transaction End
  + `queueName`
  + `transactionID`
  + `transactionState`
  + `transactionStatus`
  + `transactionExecutionTime`
  + `processingExceptionType`
  + `processingExceptionReason`
  + `queueItemReviewStatus`
  + `queueItemPriority`
* Debugging Log
  + `activityInfo`, which is a JSON message with the following fields:

    - `DisplayName`
    - `State` (Faulted, Closed, Executing)
    - `Activity`
    - `Variables`
    - `Arguments`

:::note
Only `totalExecutionTimeInSeconds`, `totalExecutionTime` and `queueName` are always present in the log messages. `Variables` and `Arguments` usually have sub-fields.
:::

### User-defined fields

These fields are defined in Studio by using the **Add Log Fields** activity and appear in all subsequent logs after the activity is generated, unless they are removed by the **Remove Log Fields** activity.

:::note
Creating user-defined log fields that have the same name as a default log field causes the logging process to become corrupted and may cause issues in the workflow you are running. For example, creating a user-defined log field called `jobId` causes this issue, as `jobId` is a log field that is generated by default.
:::
