PHPackages                             error-tag/errortag-laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Debugging &amp; Profiling](/categories/debugging)
4. /
5. error-tag/errortag-laravel

ActiveLibrary[Debugging &amp; Profiling](/categories/debugging)

error-tag/errortag-laravel
==========================

ErrorTag is an error monitoring and observability platform. This package is the client SDK that captures errors from your Laravel application and sends them to the ErrorTag dashboard for analysis, alerting, and team collaboration.

v1.0.9(4mo ago)0110↓88.2%MITPHPPHP ^8.1CI passing

Since Feb 6Pushed 4mo agoCompare

[ Source](https://github.com/Error-Tag/ErrorTag-laravel)[ Packagist](https://packagist.org/packages/error-tag/errortag-laravel)[ Docs](https://github.com/error-tag/errortag-laravel)[ GitHub Sponsors](https://github.com/Error-Tag)[ RSS](/packages/error-tag-errortag-laravel/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (16)Versions (14)Used By (0)

ErrorTag
========

[](#errortag)

[![Latest Version on Packagist](https://camo.githubusercontent.com/919e607c0d6ae78bb057883d54b03909af2f25c44272c085162117bde905f773/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6572726f722d7461672f6572726f727461672d6c61726176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/error-tag/errortag-laravel)[![tests](https://github.com/Error-Tag/ErrorTag-laravel/actions/workflows/run-tests.yml/badge.svg)](https://github.com/Error-Tag/ErrorTag-laravel/actions/workflows/run-tests.yml)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/88b228ec4fcba8d9cf00abef32e33d6cc453ae49f1b76a90ccefa0b3807ff0ea/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6572726f722d7461672f6572726f727461672d6c61726176656c2f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/error-tag/errortag-laravel/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/5bb36aec064e31402b8cf49fd7c13e2e774f10b53e6d83dabacb8b5b31f9468d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6572726f722d7461672f6572726f727461672d6c61726176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/error-tag/errortag-laravel)

**ErrorTag** is an error monitoring and observability platform. This package is the client SDK that captures errors from your Laravel application and sends them to the ErrorTag dashboard for analysis, alerting, and team collaboration.

Requirements
------------

[](#requirements)

- **PHP**: 8.1 or higher
- **Laravel**: 10.x, 11.x, or 12.x
- **HTTP Client**: Guzzle (included with Laravel)

Features
--------

[](#features)

- **Automatic Error Capture** - Hooks into Laravel's exception handler
- **Intelligent Error Grouping** - Groups similar errors using fingerprints
- **Privacy-First** - Sanitizes sensitive data (passwords, tokens, headers)
- **Works Everywhere** - Sync mode (no queue required) or async via queue
- **Rich Context** - Captures request, user, and application data
- **Circuit Breaker** - Prevents infinite loops and server overload
- **Highly Configurable** - Sample rates, ignored exceptions, and more
- **Fully Tested** - Comprehensive test coverage with Pest

Installation
------------

[](#installation)

Install the package via Composer:

```
composer require error-tag/errortag-laravel
```

Publish the configuration file:

```
php artisan vendor:publish --tag="errortag-laravel-config"
```

Add your ErrorTag API key to `.env`:

```
ERRORTAG_KEY=project_xxxxx
ERRORTAG_ENV=production
```

Quick Start
-----------

[](#quick-start)

Once installed, ErrorTag automatically captures all unhandled exceptions.

**By default, errors are sent synchronously** (no queue worker required). This works perfectly on shared hosting, local development, and production.

Test your setup:

```
php artisan errortag:test --send-test-error
```

### Queue Configuration (Optional)

[](#queue-configuration-optional)

For high-traffic applications, you can enable async sending via queue:

```
ERRORTAG_USE_QUEUE=true
ERRORTAG_QUEUE_CONNECTION=database
```

**Important:** Only enable queues if you have workers running via cron or supervisor.

**For shared hosting with cron:** Add this to your crontab:

```
* * * * * php /path/to/artisan queue:work --stop-when-empty --tries=2 --max-time=50
```

Usage
-----

[](#usage)

### Automatic Capture

[](#automatic-capture)

```
// This exception is automatically captured
throw new Exception('Something went wrong!');
```

### Manual Reporting

[](#manual-reporting)

```
use ErrorTag\ErrorTag\Facades\ErrorTag;

try {
    processPayment($order);
} catch (Exception $e) {
    ErrorTag::captureException($e);
}
```

### Adding Context

[](#adding-context)

```
ErrorTag::context([
    'order_id' => $order->id,
    'payment_provider' => 'stripe',
]);
```

Configuration
-------------

[](#configuration)

### Laravel Version Compatibility

[](#laravel-version-compatibility)

**Laravel 11+ and 12+**ErrorTag automatically registers via its service provider. You can also manually configure exception reporting in `bootstrap/app.php`:

```
->withExceptions(function (Exceptions $exceptions): void {
    // ErrorTag is auto-registered, but you can customize here if needed
})->create();
```

**Laravel 10 and below**ErrorTag automatically registers via its service provider using the `reportable()` method. No manual configuration needed. Just install the package and configure your `.env` file.

### Sync vs Async Sending

[](#sync-vs-async-sending)

**Sync Mode (Default - Recommended)**

```
ERRORTAG_USE_QUEUE=false
ERRORTAG_SYNC_TIMEOUT=2  # Fast timeout to avoid blocking requests
```

- Works immediately after installation
- No queue worker required
- Perfect for shared hosting
- Great for low-medium traffic

**Async Mode (Queue)**

```
ERRORTAG_USE_QUEUE=true
ERRORTAG_QUEUE_CONNECTION=database
ERRORTAG_TIMEOUT=5
```

- Better for high-traffic apps
- Doesn't block user requests
- Requires queue worker running

### Other Options

[](#other-options)

```
# Disable ErrorTag in local environment
ERRORTAG_ENABLED=true

# Sample rate (capture 50% of errors)
ERRORTAG_SAMPLE_RATE=0.5

# Don't capture request body (privacy)
ERRORTAG_CAPTURE_BODY=false

# Circuit breaker (stop after 5 failures)
ERRORTAG_CIRCUIT_BREAKER_THRESHOLD=5
```

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [William Asaba](https://github.com/Error-Tag)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance77

Regular maintenance activity

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

12

Last Release

125d ago

Major Versions

v0.1.0-alpha.0 → v1.0.02026-02-06

PHP version history (2 changes)v0.1.0-alpha.0PHP ^8.4

v1.0.5PHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/15543507?v=4)[williamDk](/maintainers/williamug)[@Williamug](https://github.com/Williamug)

---

Top Contributors

[![Williamug](https://avatars.githubusercontent.com/u/15543507?v=4)](https://github.com/Williamug "Williamug (86 commits)")

---

Tags

error-handlingerror-monitoringerror-reportinglaravellaravelerror-monitoringerror handlingError-Tagerrortag-laravelError ObservabilityError AlertingError Collaboration

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/error-tag-errortag-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/error-tag-errortag-laravel/health.svg)](https://phpackages.com/packages/error-tag-errortag-laravel)
```

###  Alternatives

[spatie/laravel-permission

Permission handling for Laravel 12 and up

12.9k102.4M1.4k](/packages/spatie-laravel-permission)[spatie/laravel-pdf

Create PDFs in Laravel apps

1.0k4.8M47](/packages/spatie-laravel-pdf)[dedoc/scramble

Automatic generation of API documentation for Laravel applications.

2.1k11.2M100](/packages/dedoc-scramble)[stephenjude/filament-debugger

About

104162.2k2](/packages/stephenjude-filament-debugger)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

816333.8k3](/packages/defstudio-telegraph)[spatie/laravel-passkeys

Use passkeys in your Laravel app

471890.7k39](/packages/spatie-laravel-passkeys)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
