Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Symfony Laravel Package

bugban/symfony

View on GitHub
Deep Wiki
Context7

bugban/symfony

Symfony bundle for the Bugban error & monitoring SDK. It auto-captures unhandled exceptions via a kernel.exception listener and initializes the framework-agnostic bugban/php-sdk core for you.

Compatible with Symfony 3.4 → 7.x and PHP 7.1+.

Install

composer require bugban/symfony

Enable the bundle

Add it to config/bundles.php (Symfony Flex / 4+):

// config/bundles.php
return [
    // ...
    Bugban\Symfony\BugbanBundle::class => ['all' => true],
];

On Symfony 3.4 (AppKernel), add it to registerBundles():

public function registerBundles()
{
    $bundles = [
        // ...
        new Bugban\Symfony\BugbanBundle(),
    ];
    return $bundles;
}

Configure

Create config/packages/bugban.yaml:

bugban:
    api_key: '%env(BUGBAN_API_KEY)%'
    host: 'https://bugban.online'
    # environment: '%kernel.environment%'
    # release: '1.0.0'
    # enabled: true
    # capture_requests: false
    # capture_queries: true
    # slow_query_ms: 1000
    # sample_rate: 1.0

Then set your API key (e.g. in .env):

BUGBAN_API_KEY=bb_xxxxxxxxxxxxxxxx

That's it — unhandled exceptions are now reported to Bugban automatically.

Manual capture

You can also report manually anywhere in your app:

use Bugban\Sdk\Bugban;

try {
    // ...
} catch (\Throwable $e) {
    Bugban::capture($e);
}

// Or a message:
Bugban::captureMessage('Something noteworthy happened', 'warning');

Configuration reference

Key Type Default
api_key string ''
host string https://bugban.online
environment string production
release string null
enabled bool true
capture_requests bool false
capture_queries bool true
slow_query_ms int 1000
sample_rate float 1.0

Slow query monitoring

Doctrine's SQLLogger interface was removed in DBAL 4, so the bundle does not hook Doctrine automatically. Pick whichever fits your setup (queries faster than slow_query_ms are always dropped by the SDK):

  • Doctrine DBAL 2.x / 3.x — register the bundled logger yourself (e.g. on kernel.request or in a decorator):

    if (interface_exists(\Doctrine\DBAL\Logging\SQLLogger::class)) {
        $connection->getConfiguration()->setSQLLogger(new \Bugban\Symfony\Doctrine\BugbanSqlLogger());
    }
    
  • Any DBAL version / no Doctrine — record manually where you run queries:

    \Bugban\Sdk\Bugban::recordQuery($sql, $durationMs, ['connection' => 'mysql', 'bindings' => $params]);
    
  • Plain PDO — use the drop-in \Bugban\Sdk\Support\TracedPdo from the core SDK.

Log capture (errors logged but not thrown)

Errors you catch and log — but never re-throw — only hit the log file. Enable capture_logs in the SDK init and forward them to Bugban with recordLog():

\Bugban\Sdk\Bugban::init([
    'api_key'      => 'bb_xxxxxxxx',
    'host'         => 'https://bugban.online',
    'capture_logs' => true,
    'log_level'    => 'error', // minimum PSR level forwarded
]);

// Any framework — from your log pipeline or directly:
\Bugban\Sdk\Bugban::recordLog('error', 'Import failed', ['file' => $name]);

// Caught-and-logged throwable (attach it for a full stacktrace):
try { risky(); } catch (\Throwable $e) {
    \Bugban\Sdk\Bugban::recordLog('error', $e->getMessage(), ['exception' => $e]);
}

Monolog users can register a tiny handler whose write() calls Bugban::recordLog($record['level_name'] ?? $record->level->getName(), $record['message'] ?? $record->message, $record['context'] ?? $record->context) (works for Monolog 2 arrays and Monolog 3 LogRecord). Records below log_level are dropped; context is redacted; recordLog() never throws.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus