PHPackages                             waypointer-digital/bug-tracking-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. waypointer-digital/bug-tracking-laravel

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

waypointer-digital/bug-tracking-laravel
=======================================

Kanbino Bug Tracking SDK for Laravel - Error capture, breadcrumbs, and session replay

v1.0.1(3mo ago)0312↓27.3%MITPHPPHP ^8.2

Since Feb 11Pushed 3mo agoCompare

[ Source](https://github.com/Waypointer-Digital/bug-tracking-laravel)[ Packagist](https://packagist.org/packages/waypointer-digital/bug-tracking-laravel)[ Docs](https://github.com/Waypointer-Digital/bug-tracking-laravel)[ RSS](/packages/waypointer-digital-bug-tracking-laravel/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (3)Used By (0)

Kanbino Bug Tracking SDK for Laravel
====================================

[](#kanbino-bug-tracking-sdk-for-laravel)

Capture PHP exceptions and JavaScript errors from your Laravel application and send them to [Kanbino](https://kanbino.com).

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

[](#requirements)

- PHP 8.2+
- Laravel 11 or 12

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

[](#installation)

```
composer require waypointer-digital/bug-tracking-laravel
```

Publish the config file:

```
php artisan vendor:publish --tag=kanbino-bug-tracking-config
```

Add your DSN key and Kanbino URL to `.env`:

```
KANBINO_BUG_TRACKING_DSN=bt_your_dsn_key_here
KANBINO_BUG_TRACKING_URL=https://app.kanbino.com
```

You can find your DSN key in **Kanbino &gt; Bug Tracking &gt; Projects &gt; \[Your Project\]**.

How It Works
------------

[](#how-it-works)

Once installed, the SDK automatically:

- Catches all unhandled PHP exceptions and sends them to Kanbino
- Records breadcrumbs from database queries, log entries, and HTTP client calls
- Captures request data, authenticated user info, and runtime details (PHP version, memory, etc.)
- Deduplicates errors server-side via fingerprinting

Error reports are sent **asynchronously via your Laravel queue** by default, so they don't slow down your application.

JavaScript Error Capture
------------------------

[](#javascript-error-capture)

To also capture frontend JavaScript errors, publish the JS asset and add the Blade directive to your layout:

```
php artisan vendor:publish --tag=kanbino-bug-tracking-assets
```

Then in your Blade layout (before ``):

```
@kanbinoScripts
```

This captures:

- `window.onerror` and unhandled promise rejections
- Console errors and warnings
- XHR/fetch requests as breadcrumbs
- Click and navigation events as breadcrumbs

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

[](#configuration)

All options are documented in `config/kanbino-bug-tracking.php`. Key settings:

OptionDefaultDescription`dsn`—Your project's DSN key (required)`url``https://app.kanbino.com`Your Kanbino instance URL`environment``APP_ENV`Environment name sent with reports`release``null`App version or commit hash for tracking regressions`queue``true`Send reports via queue (recommended)`sample_rate``1.0``0.0` to `1.0` — fraction of errors to capture### Ignored Exceptions

[](#ignored-exceptions)

By default, these exceptions are not reported (they produce noise):

- `ValidationException`
- `NotFoundHttpException`
- `AuthenticationException`
- `MethodNotAllowedHttpException`
- `TokenMismatchException`

Edit the `ignored_exceptions` array in the config to customize.

### Before Send Callback

[](#before-send-callback)

Filter or modify payloads before they're sent:

```
// config/kanbino-bug-tracking.php
'before_send' => [App\Services\BugFilter::class, 'filter'],
```

```
// app/Services/BugFilter.php
class BugFilter
{
    public static function filter(array $payload, \Throwable $e): ?array
    {
        // Return null to discard, or modify and return $payload
        if (str_contains($e->getMessage(), 'some noise')) {
            return null;
        }

        return $payload;
    }
}
```

### Sensitive Data

[](#sensitive-data)

Request headers and body fields are automatically sanitized. By default, these headers are filtered:

- `Authorization`, `Cookie`, `X-CSRF-TOKEN`

And these body keys:

- `password`, `password_confirmation`, `secret`, `token`, `credit_card`, `card_number`, `cvv`

Customize via the `request.sanitize_headers` and `request.sanitize_body_keys` config arrays.

Multi-Tenancy (Spatie)
----------------------

[](#multi-tenancy-spatie)

If your application uses [Spatie Laravel Multitenancy](https://github.com/spatie/laravel-multitenancy) with `queues_are_tenant_aware_by_default` enabled, the `SendErrorReport` job will fail because it has no tenant context.

Add the job to the `not_tenant_aware_jobs` array in `config/multitenancy.php`:

```
'not_tenant_aware_jobs' => [
    \Kanbino\BugTracking\Jobs\SendErrorReport::class,
],
```

Manual Capture
--------------

[](#manual-capture)

You can manually capture exceptions or add context:

```
use Kanbino\BugTracking\Facades\Kanbino;

// Capture a caught exception
try {
    $this->riskyOperation();
} catch (\Exception $e) {
    Kanbino::captureException($e);
}

// Add custom context (included in all subsequent reports)
Kanbino::setContext(['order_id' => $order->id]);
```

Middleware
----------

[](#middleware)

The SDK includes a middleware that clears breadcrumbs per request and captures the current URL:

```
// bootstrap/app.php or app/Http/Kernel.php
->withMiddleware(function (Middleware $middleware) {
    $middleware->append(\Kanbino\BugTracking\Middleware\KanbinoRequestContext::class);
})
```

Breadcrumbs
-----------

[](#breadcrumbs)

Breadcrumbs are a trail of events leading up to an error. The SDK automatically records:

TypeSourceExampleDatabase queries`DB::listen``SELECT * FROM users WHERE id = ?` (42ms)Log entriesLog channel`User login failed for email@example.com`HTTP client calls`Http::get()``GET https://api.example.com/data` (200, 150ms)Disable individual breadcrumb types in the config:

```
'breadcrumbs' => [
    'queries' => true,
    'logs' => true,
    'http_client' => true,
    'max_breadcrumbs' => 50,
],
```

License
-------

[](#license)

MIT

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance82

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

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

Total

2

Last Release

96d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6133f6c6081a85a9b24bed114032fb46179b111e4428254e7c1fd932db40e9e8?d=identicon)[henryvrolings](/maintainers/henryvrolings)

---

Top Contributors

[![henryvrolings](https://avatars.githubusercontent.com/u/1826196?v=4)](https://github.com/henryvrolings "henryvrolings (10 commits)")

---

Tags

laravelexception handlererror-trackingbug-trackingkanbino

### Embed Badge

![Health badge](/badges/waypointer-digital-bug-tracking-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/waypointer-digital-bug-tracking-laravel/health.svg)](https://phpackages.com/packages/waypointer-digital-bug-tracking-laravel)
```

###  Alternatives

[yadahan/laravel-authentication-log

Laravel Authentication Log provides authentication logger and notification for Laravel.

416632.8k5](/packages/yadahan-laravel-authentication-log)[shaffe/laravel-mail-log-channel

A package to support logging via email in Laravel

1286.2k](/packages/shaffe-laravel-mail-log-channel)

PHPackages © 2026

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