---
title: Global Errors and Global Attachments
description: How to capture and view process-level information about your test runs
---

# Global Errors and Global Attachments (Allure 3)

Starting with Allure Report 3, you can capture process-level information about your test runs, such as `stdout` and `stderr` outputs, test process errors and exit codes, and attach them to your test reports.

## How to use

To take advantage of this feature, you have to run your tests with the `allure run` wrapper command:

```bash
allure run -- <test command>
```

For example, if `npm` is your test runner:

```bash
allure run -- npm test
```

## What data you can capture

Global test run data appears in dedicated sections on the report homepage.

### Global Exit Code

**Global exit code** is listed right under the report name and displays two values: the **actual exit code** (how the `allure run` process finished) and the **original exit code** (the exit code of the test process executed within `allure run`).

These values may be different, for example, if you set [quality gate](/docs/quality-gate/) to tolerate a certain number of failed tests, or conversely, enforce some stricter quality standard than all tests in the run simply passing.

Images: /images/globals/exit-code-light.png, /images/globals/exit-code-dark.png

### Global Errors

**Global Errors** tab contains any process-level exceptions encountered during the test run, with stack traces for unexpected errors.

Images: /images/globals/global-errors-light.png, /images/globals/global-errors-dark.png

### Global Attachments

**Global Attachments** tab currently stores the entire `stdout` and `stderr` output generated by the test run.

Images: /images/globals/global-attachments-light.png, /images/globals/global-attachments-dark.png

### Custom Globals

You can also configure your test pipeline to explicitly record errors and attachments as globals via the globals runtime API. It allows you to capture setup/teardown failures or any other information that doesn't belong to any individual test.

Tip:
This feature will be gradually rolled out for all framework integrations with runtime API support, starting with [Allure JavaScript](https://github.com/allure-framework/allure-js). Please refer to your [integration's documentation](/docs/frameworks/) to see if it's already supported.

## How to turn the feature on and off

- Default global errors and global attachments are on by default and may be turned off with the `--ignore-logs` option:

  ```bash
  allure run --ignore-logs -- <test command>
  ```

  Additionally, the [Log plugin](/docs/v3/configure/#log-plugin) can limit the outputs saved as global attachments.

- Custom globals captured via the globals runtime API can't be turned off except by removing them from the test code.

## Interactions with other features

- Global errors are integrated with [quality gates](/docs/quality-gate/). A failed quality gate is treated as a global error. But using the `--ignore-logs` option to turn off global errors and attachments does not affect quality gates operation, and does not hide failed quality gates in the report.

- [Multistage reports](/docs/multistage-builds/) list all global errors and all global attachments from all stages included in the report.
