Configuration
LaraBug reads its configuration from config/larabug.php. After running php artisan vendor:publish --provider="LaraBug\ServiceProvider", you can edit that file to tune the SDK.
All values can be overridden via environment variables, which is usually how you'll want to drive them.
Credentials
| Config key | Env var | Description |
|---|---|---|
login_key |
LB_KEY |
Your personal API key. Authorises your account. |
project_key |
LB_PROJECT_KEY |
The project API key. Tells us which project events belong to. |
dsn |
LB_DSN |
Optional single-string form: https://login:project@host/path. |
server |
LB_SERVER |
The ingest URL. Defaults to https://www.larabug.com/api/log. |
verify_ssl |
LB_VERIFY_SSL |
Whether to verify TLS certificates. Leave on in production. |
If dsn is set and valid, it overrides login_key, project_key, and server.
Environments
By default LaraBug only sends events from the production environment. Add more environments as needed:
'environments' => [
'production',
'staging',
],
This check runs inside LaraBug::handle(), so events are dropped before any network call. Useful for local development where you don't want your debugging to generate noise in your dashboard.
Deduplication
'sleep' => 60,
When the same exception (same class, file, line, URL) fires repeatedly, LaraBug will only report it once every sleep seconds. Set to 0 to disable — useful for testing, dangerous for production.
Exception blacklist
'except' => [
\Symfony\Component\HttpKernel\Exception\NotFoundHttpException::class,
],
Exception classes in this array are silently dropped. NotFoundHttpException is the default because 404s from bots and stale bookmarks are rarely actionable. Add your own classes here for the same reason.
Data filtering
'blacklist' => [
'*password*',
'*token*',
'*secret*',
'*auth*',
'api_key',
'credit_card',
'cvv',
'iban',
// ...
],
Any request parameter, header, session value, or cookie whose key matches one of these patterns has its value replaced with [FILTERED] before the event leaves your server. Wildcards work on both ends. The defaults already cover the usual suspects; add fields specific to your app.
Queue job monitoring
LaraBug 3.x tracks every queued job out of the box. Tuning lives under the jobs key:
'jobs' => [
'track_jobs' => true,
'track_failed' => true,
'track_completed' => true,
'batch_size' => 50,
'flush_interval' => 30,
'sample_rate' => 1.0,
'ignore_jobs' => [
// App\Jobs\NoisyJob::class,
],
'ignore_queues' => [
// 'default',
],
],
See Queue & Job Monitoring for the full picture of what each key does and how dynamic batching works under high load.
Project version
'project_version' => env('LB_RELEASE'),
Set this to a git SHA, version tag, or anything else that identifies a specific deploy. LaraBug uses it to group events by release so you can tell a regression from a pre-existing bug.