guanguans/laravel-exception-notify

Monitor exception and report to the notification channels(Dump、Log、Mail、AnPush、Bark、Chanify、DingTalk、Discord、Gitter、GoogleChat、IGot、Lark、Mattermost、MicrosoftTeams、NowPush、Ntfy、Push、Pushback、PushBullet、PushDeer、PushMe、Pushover、PushPlus、QQ、RocketChat、ServerChan、ShowdocPush、SimplePush、Slack、Telegram、We

Fund package maintenance!
Sponsors

Installs: 41 730

Dependents: 1

Suggesters: 0

Security: 0

Stars: 142

Watchers: 2

Forks: 13

Open Issues: 0

pkg:composer/guanguans/laravel-exception-notify

5.3.0 2026-02-13 06:53 UTC

README

usage

Monitor exception and report to the notification channels(Dump、Log、Mail、AnPush、Bark、Chanify、DingTalk、Discord、Gitter、GoogleChat、IGot、Lark、Mattermost、MicrosoftTeams、NowPush、Ntfy、Push、Pushback、PushBullet、PushDeer、PushMe、Pushover、PushPlus、QQ、RocketChat、ServerChan、ShowdocPush、SimplePush、Slack、Telegram、WeWork、WPush、XiZhi、YiFengChuanHua、ZohoCliq、ZohoCliqWebHook、Zulip).

tests php-cs-fixer codecov Latest Stable Version GitHub release (with filter) Total Downloads License

Related repositories

Requirement

  • PHP >= 8.1

Installation

composer require guanguans/laravel-exception-notify --ansi -v

Configuration

Publish files(optional)

php artisan vendor:publish --provider="Guanguans\\LaravelExceptionNotify\\ExceptionNotifyServiceProvider" --ansi -v

Apply for channel authentication information

  • Notify(30+)
  • Dump(for debugging exception report)
  • Log
  • Mail

Configure channels in the config/exception-notify.php and .env file

EXCEPTION_NOTIFY_CHANNEL=stack
EXCEPTION_NOTIFY_STACK_CHANNELS=log,slack,weWork
EXCEPTION_NOTIFY_SLACK_WEBHOOK=https://hooks.slack.com/services/TPU9A9/B038KNUC0GY/6pKH3vfa3mjlUPcgLSjzR
EXCEPTION_NOTIFY_WEWORK_TOKEN=73a3d5a3-ceff-4da8-bcf3-ff5891778

Usage

Test whether exception can be monitored and reported to notification channel

php artisan exception-notify:test --channel=dump --job-connection=sync
php artisan exception-notify:test
php artisan exception-notify:test -v

📸 Notification examples

🧐 details
discord slack telegram
discord slack telegram
lark mail weWork
lark mail weWork

Skip report

app/Providers/AppServiceProvider.php

<?php

use Guanguans\LaravelExceptionNotify\Facades\ExceptionNotify;

public function boot(): void
{
    ExceptionNotify::skipWhen(static fn (\Throwable $throwable) => collect([
        \Symfony\Component\HttpKernel\Exception\HttpException::class,
        \Illuminate\Http\Exceptions\HttpResponseException::class,
    ])->contains(static fn (string $exception): bool => $throwable instanceof $exception));
}

Extend channel

app/Providers/AppServiceProvider.php

<?php

use Guanguans\LaravelExceptionNotify\Contracts\ChannelContract;
use Guanguans\LaravelExceptionNotify\Facades\ExceptionNotify;
use Illuminate\Container\Container;

public function boot(): void
{
    ExceptionNotify::extend('YourChannelName', function (Container $container): ChannelContract {
        return 'Instance of the `Guanguans\LaravelExceptionNotify\Contracts\ChannelContract`.';
    });
}

Composer scripts

composer checks:required
composer php-cs-fixer:fix
composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

Thanks

License

The MIT License (MIT). Please see License File for more information.