PHPackages                             shootalert/shootalert-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. [Logging &amp; Monitoring](/categories/logging)
4. /
5. shootalert/shootalert-laravel

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

shootalert/shootalert-laravel
=============================

Laravel SDK for ShootAlert: ships uncaught exceptions to the platform with breadcrumbs and request context.

v0.1.5(1mo ago)010MITPHPPHP ^8.0

Since May 24Pushed 1mo agoCompare

[ Source](https://github.com/premmohantyagi/shootalert-laravel)[ Packagist](https://packagist.org/packages/shootalert/shootalert-laravel)[ RSS](/packages/shootalert-shootalert-laravel/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (5)Versions (7)Used By (0)

ShootAlert Laravel SDK
======================

[](#shootalert-laravel-sdk)

[![Packagist Version](https://camo.githubusercontent.com/18e8d20688e5c7abd4886f8ccd059be223f1325a41573445902e9dfa500f32b4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73686f6f74616c6572742f73686f6f74616c6572742d6c61726176656c)](https://packagist.org/packages/shootalert/shootalert-laravel)[![Total Downloads](https://camo.githubusercontent.com/cb6f68d2a0174ae48616d75b9db588363176cd3e3b06578fd4871cb2e4ef9ed0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73686f6f74616c6572742f73686f6f74616c6572742d6c61726176656c)](https://packagist.org/packages/shootalert/shootalert-laravel)[![License](https://camo.githubusercontent.com/16bd74cc31dd141d45403c08057dd9b0a8da83b632bb2f3da889792ea0f9c512/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f73686f6f74616c6572742f73686f6f74616c6572742d6c61726176656c)](LICENSE)

Ship uncaught exceptions from your Laravel app to ShootAlert with stack traces, breadcrumbs (recent log lines + DB queries), request context, and authenticated user info.

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

[](#requirements)

- PHP 8.0+
- Laravel 8, 9, 10, 11, 12, or 13

Install
-------

[](#install)

```
composer require shootalert/shootalert-laravel
```

Add to your `.env`:

```
SHOOTALERT_ERROR_KEY=your-app-token-from-the-shootalert-ui
SHOOTALERT_ERROR_ENDPOINT=https://shootalert.com/api/v1/errors/events

```

Wire the channel into your default logging stack in `config/logging.php`:

```
'channels' => [
    'stack' => [
        'driver' => 'stack',
        'channels' => ['single', 'shootalert'],   //  false,
    ],

    'shootalert' => [
        'driver' => 'monolog',
        'handler' => \ShootAlert\Laravel\Logger::class,
        'level' => 'error',
    ],
],
```

Done. Any uncaught exception Laravel logs will be shipped to ShootAlert asynchronously via your queue.

Configure (optional)
--------------------

[](#configure-optional)

Publish the config file to override defaults:

```
php artisan vendor:publish --tag=shootalert-config
```

The published file at `config/shootalert.php` lets you:

- Toggle the SDK on/off (`SHOOTALERT_ENABLED=false`)
- Choose a specific queue connection/name for the ship job
- Tune the breadcrumb buffer size or disable query/log capture
- Extend the list of key substrings stripped from outgoing payloads

What gets captured
------------------

[](#what-gets-captured)

- **Exception class, message, top-of-stack file:line**
- **Full stack trace**, with frames inside your app marked `in_project` for grouping and AI diagnosis anchoring
- **Breadcrumbs** (ring buffer of 25): every `info`/`warning`/`notice` log line + every DB query the request fired before the throw
- **Request context**: URL, method, IP, route name, user agent
- **Authenticated user ID** (if any) — never the email or anything else from the user model
- **Runtime info**: PHP version, Laravel version, app environment, SDK version

What gets redacted before send
------------------------------

[](#what-gets-redacted-before-send)

Any array key matching `password`, `secret`, `token`, `api_key`, `authorization`, `auth`, or `cookie` (case-insensitive substring) is replaced with `[redacted]` in the request context before the payload leaves the process. Add your own substrings via `shootalert.redact_keys`.

The platform applies a second pass of regex-based redaction (emails, IPv4 addresses, bearer tokens, hex tokens) on the receiving side.

How it ships
------------

[](#how-it-ships)

Each exception becomes a queued job (`ShipErrorEventJob`) so the HTTP response that triggered the error returns immediately. The job POSTs one HMAC-signed request to ShootAlert with up to two retries on transient failure. If the platform is permanently unreachable, the job logs to stderr and gives up — your app is never broken by SDK failures.

Disabling for local dev
-----------------------

[](#disabling-for-local-dev)

In `.env.local` or wherever you keep dev settings:

```
SHOOTALERT_ENABLED=false

```

That short-circuits the Monolog handler before any work is done.

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance89

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

 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 ~1 days

Total

6

Last Release

55d ago

PHP version history (2 changes)v0.1.0PHP ^8.2

v0.1.3PHP ^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/12059969?v=4)[Prem Mohan Tyagi](/maintainers/premmohantyagi)[@premmohantyagi](https://github.com/premmohantyagi)

---

Top Contributors

[![premmohantyagi](https://avatars.githubusercontent.com/u/12059969?v=4)](https://github.com/premmohantyagi "premmohantyagi (7 commits)")

---

Tags

laravelmonitoringexceptionserror-trackingshootalert

### Embed Badge

![Health badge](/badges/shootalert-shootalert-laravel/health.svg)

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

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.3M347](/packages/psalm-plugin-laravel)[laravel/scout

Laravel Scout provides a driver based solution to searching your Eloquent models.

1.7k55.0M632](/packages/laravel-scout)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k15.1M136](/packages/laravel-pulse)[illuminate/auth

The Illuminate Auth package.

10528.2M1.3k](/packages/illuminate-auth)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M133](/packages/roots-acorn)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45444.2k1](/packages/pressbooks-pressbooks)

PHPackages © 2026

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