Install NightOwl
composer require nightowl/agent
php artisan nightowl:install
# Bugsnag remains active. Both SDKs report exceptions in parallel.Parallel validation
Run both for 1-2 weeks. Compare:
- Total exception count per day (should match)
- Unique issue count (grouping may differ slightly)
- Alert delivery (trigger a staging error; both should page)
- Performance data — NightOwl adds queries, jobs, schedules that Bugsnag doesn't show. Explore these to understand what you've been missing.
Remove the Bugsnag SDK
composer remove bugsnag/bugsnag-laravel
rm config/bugsnag.php
# .env — remove:
# BUGSNAG_API_KEY=...
# BUGSNAG_NOTIFY_RELEASE_STAGES=...
# In app/Exceptions/Handler.php — remove Bugsnag references in register():
# Bugsnag::notifyException($exception); // DELETE this line
php artisan config:clear
php artisan cache:clearWhat to keep Bugsnag for
- iOS / Android crash reporting — Bugsnag has strong mobile SDKs
- Unity / game engine integrations — if that's your stack
- Release stability metrics — Bugsnag's core dashboard concept
If Laravel is your only Bugsnag usage, you can cancel the subscription after the parallel period completes. If Bugsnag still covers mobile, keep it for that layer only.
Cost case
| Scenario | Bugsnag | NightOwl | Coverage |
|---|---|---|---|
| Solo / single app | $49/mo | $5/mo (Hobby) | NightOwl adds queries/queues/schedules |
| Small Laravel team (≤3 apps) | $179/mo | $15/mo (Team) | Same coverage, BYOD |
| Medium / multi-app | $179/mo | $69/mo (Agency) | Agency tier unlimited apps |
| Enterprise + mobile | $500+/mo | $15 (Team) + keep Bugsnag for mobile | Split by platform |
AFTER MIGRATION
Full APM, not just errors
Exceptions + queries + queues + schedules + cache + mail + logs in one tool. From $5/mo flat. Data in your PostgreSQL.