# Log fields

> Default and user-defined fields included in Robot log entries, such as message, level, timestamp, job ID, process name, and machine identity.

A log entry contains several log fields, each holding a different information about the event being logged. Jobs for agents, functions, and API workflows share the job-level default fields with RPA jobs: **jobId**, **robotName**, **machineId**, **robotVersion**, **userKey**, **organizationUnitId**, **processName**, and **processVersion**. The **FileName** and **activityInfo** fields and the transaction fields appear only in RPA job logs. Agents, functions, and API workflows run only with Automation Cloud or Automation Suite Orchestrator, on robots connected with client credentials.

## Default fields

* **Message** - The log message. Messages longer than 10,000 characters are truncated.
* **Level** - Defines the log level. The value is `Trace` for Verbose entries and `Fatal` for Critical entries. The other levels use their own names.
* **logType** - **Default** for the entries the Robot writes, **User** for the entries your automation writes.
* **Timestamp** - The exact date and time the logged action was happened.
* **fingerprint** - A unique identifier of the log entry.
* **FileName** - The name of the workflow file being executed, without the file extension.
* **jobId** - The ID of the job running the process.
* **processName** - The name of the process that triggered the logging. Requires an active connection to Orchestrator.
* **processVersion** - The version number of the process. Requires an active connection to Orchestrator.
* **windowsIdentity** - The name of the user that performed the action that was logged.
* **robotName** - The name of the Robot (as defined in Orchestrator).
* **machineName** - The name of the robot machine.
* **machineId** - The id of the robot machine.
* **robotVersion** - The version of the Robot that ran the job.
* **userKey** - The key of the Orchestrator user or robot account that runs the job, when it's known.
* **organizationUnitId** - The ID of the Orchestrator folder.

You can't override the default fields using the [Add Log Fields](https://docs.uipath.com/activities/other/latest/workflow/add-log-fields) activity. The Robot ignores a custom field that has the same name as a field already on the log entry.

## User-defined fields

To define custom fields, use the **Add Log Fields** activity. These fields appear in all subsequent logs. To remove these fields from further logs, use the **Remove Log Fields** activity. Each custom field value is limited to 50,000 characters. The Robot replaces a longer value with `[Exceeded maximum allowed size of 50000 characters]` instead of truncating it.

:::important
Make sure to name your custom log fields different from the default log fields. A custom field that has the same name as a default field is not added to the log entry.
:::

## Type-specific fields

These logs are present depending on the log type.

### For the Execution End default log, the following fields are included:

* **totalExecutionTimeInSeconds**
* **totalExecutionTime**

### For the Transaction Start default log, the following fields are included:

* **queueName**
* **transactionID**
* **transactionState**
* **initiatedBy**

### For the Transaction End default log, the following fields are included:

* **queueName**
* **transactionID**
* **transactionState**
* **transactionStatus**
* **transactionExecutionTime**
* **processingExceptionType**
* **processingExceptionReason**
* **queueItemReviewStatus**
* **queueItemPriority**

### For the Debugging Log default log, the following fields are included:

* **activityInfo**, which is a JSON message with the following fields:
  + **DisplayName**
  + **State(Faulted,Closed,Executing)**
  + **Activity**
  + **Arguments**
