kunstmaan/sentry-bundle
Integrates Sentry error tracking into Kunstmaan CMS and bundle-based Symfony applications, capturing exceptions and reporting them to your Sentry project so you can monitor, debug, and resolve production issues faster.
Architecture fit. The package is a Symfony2 bundle, not a Laravel package, and it is not a general-purpose PHP library. Its value is delivered entirely through Symfony's bundle/DI/event-dispatcher conventions: it registers a Bundle subclass, wires raven-php into the service container, and installs an autoloaded exception handler via AppKernel boot. Laravel's service-container and bootstrapping model is structurally different, so there is no "drop-in" path — any Laravel usage would require writing our own service provider and exception-handler registration around the underlying raven-php client, at which point the bundle itself contributes nothing. In a Laravel context, the package's architecture does not fit; the idea (autoloaded global handler) is already the native pattern in sentry/sentry-laravel.
Integration feasibility. Low, and deliberately so. Three independent blockers stack up:
raven-php is the pre-2.0 Sentry client. Sentry has since retired the legacy authentication mechanism those clients use; against current Sentry SaaS and modern self-hosted releases, a raven client will typically fail to authenticate rather than silently degrade. That converts "outdated" into "does not function."Technical risk. High on every axis that matters:
before_send-style scrubbing and breadcrumb controls. Sending raw exception payloads — stack traces, request context, potentially credentials in URLs or headers — to an external service without a scrubbing hook is a privacy and compliance exposure.Key questions.
sentry/sentry-laravel sets a floor around PHP 7.2/Laravel 5.7 and supports current releases. If we are on older PHP, the constraint is the platform, not the Sentry choice.Recommendation: do not adopt. Treat this as a replace decision and move directly to the maintained SDK.
Stack fit. The correct target for a Laravel/PHP estate is sentry/sentry-laravel on top of the current sentry/sentry SDK. That package is framework-native — service provider, exception handler hooks in app/Exceptions/Handler.php or Laravel 11's bootstrap/app.php, queue/command/job integrations, log channel, and before_send scrubbing. It also gives us performance tracing and release tracking, which the legacy bundle has no concept of. For any residual Symfony 2.x surface, the successor is sentry/sentry-symfony (which itself superseded the Monolog-only path), not this bundle.
Migration path. There is no incremental "adopt then upgrade" route, because the underlying client is incompatible. The path is a straight swap:
Kunstmaan\SentryBundle classes directly.composer.json, verifying the lockfile is clean.Compatibility. The real constraint is platform version, not Sentry. Confirm PHP and framework versions before committing; if the application is genuinely pinned to a PHP 5.x/Symfony 2.x era, the honest answer is that a Sentry integration is a low-priority item behind a platform upgrade, and a log-file shipper is the interim answer.
Sequencing. Run this as a well-scoped slice of one sprint, not a project. Order: platform version check → SDK install and DSN config in staging → scrubbing/before_send policy defined → exception and queue-failure coverage validated → production rollout → legacy removal. The scrubbing policy step is the one most often skipped and the one most likely to cause a compliance incident, so schedule it before, not after, production traffic.
Maintenance. Near-zero ongoing engineering effort with the modern SDK; effectively unbounded effort with this bundle. The difference is that one receives upstream releases and security patches and the other receives nothing. For a TPM, the relevant framing is: adopting this package converts a solved problem into a permanently owned one.
Support. No vendor, no maintainer, no community. Any incident involving the error path becomes an internal debugging exercise against abandoned code. Compare to the maintained SDK, where Sentry documents behaviour and the project has active issue triage. Do not underwrite an on-call rotation against an abandoned library.
Scaling. Two dimensions:
traces_sample_rate, sample_rate, and event rate limits.Failure modes. Enumerate these explicitly, because they are silent:
Ramp-up. Low for the modern SDK — a competent Laravel engineer has it configured in an afternoon, and the concepts (DSN, environment, release, scrubbing) are standard. Ramp-up on this bundle is deceptive: it looks simple, but the real cost is discovering the authentication and re-entrancy issues weeks later, in production, during an incident. Budget a half-day for a spike to confirm the legacy client cannot authenticate, and use that result to close the question with stakeholders rather than debating it.
How can I help you explore Laravel packages today?