apxcde / laravel-telltale
Send Laravel errors, logs and traces to Telltale. A fork of spatie/laravel-flare.
Fund package maintenance!
Requires
- php: ^8.2
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- illuminate/support: ^10.14|^11.47|^12.42|^13.0
- spatie/flare-client-php: ^3.6
- spatie/laravel-error-share: ^1.0.3
- symfony/console: ^6.4|^7.2.1|^8.0
- symfony/var-dumper: ^6.4|^7.2.3|^8.0
Requires (Dev)
- laravel/serializable-closure: ^1.3|^2.0
- livewire/livewire: ^3.6.0|^4.2
- mockery/mockery: ^1.6.12
- orchestra/testbench: ^8.31|^9.14|^10.8|^11.0
- pestphp/pest: ^2.34|^3.7.4|^4.1
- pestphp/pest-plugin-laravel: ^2.4|^3.0|^4.0
- phpstan/extension-installer: ^1.4.3
- phpstan/phpstan-deprecation-rules: ^1.1.1|^2.0.1
- phpstan/phpstan-phpunit: ^1.3.16|^2.0.4
- spatie/ray: ^1.45
- vlucas/phpdotenv: ^5.6.1
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-11-10 18:50:12 UTC
README
apxcde/laravel-telltale is the Laravel client for Telltale, a self-hosted receiver for errors, logs and performance traces. It runs inside your application and reports to your own Telltale installation.
This package is a fork of spatie/laravel-flare by Spatie. It is not affiliated with Spatie or Flare. The fork does not follow upstream releases.
What differs from spatie/laravel-flare
-
Names. The namespace is
Apxcde\LaravelTelltale, the config file isconfig/telltale.php, the log driver istelltale, the facade isTelltaleand the test command istelltale:test. -
Env variables start with
TELLTALE_:TELLTALE_KEY,TELLTALE_BASE_URL,TELLTALE_REPORT,TELLTALE_TRACE,TELLTALE_SAMPLER_RATEandTELLTALE_LOG. -
No default server. Nothing is sent unless both
TELLTALE_KEYandTELLTALE_BASE_URLare set. The package never falls back to flareapp.io. -
Tracing is off by default. Enable it with
TELLTALE_TRACE=true. -
The error page's Share button is off by default, because it uploads the error to flareapp.io.
-
Query bindings are not sent by default, because bound values often hold personal data. Queries are reported with their
?placeholders, and the message of a failed query is rewritten the same way. To send the values, setinclude_bindingstotruefor the queries collect inconfig/telltale.php:'collects' => \Apxcde\LaravelTelltale\TelltaleConfig::defaultCollects( extra: [ \Spatie\FlareClient\Enums\CollectType::Queries->value => ['include_bindings' => true], ], ),
A value the database quotes in its own error text, such as the duplicate value in a unique key violation, is still part of the message.
The wire protocol is unchanged. The package still depends on spatie/flare-client-php, which builds and sends the payloads, so its classes keep the Spatie\FlareClient namespace and the payloads keep Flare's attribute names (for example flare.entry_point.type).
Requirements
PHP 8.2 or higher and Laravel 10.14 or higher. The package conflicts with spatie/laravel-ignition, which needs an older spatie/flare-client-php; remove Ignition first.
Installation
The package is not on Packagist. Add its repository to your composer.json, then require it:
"repositories": [ { "type": "vcs", "url": "https://github.com/apxcde/laravel-telltale" } ]
composer require apxcde/laravel-telltale:dev-main
Set the project key and the URL of your Telltale installation in .env:
TELLTALE_KEY=your-project-key TELLTALE_BASE_URL=https://telltale.example.com
Report exceptions from bootstrap/app.php:
use Apxcde\LaravelTelltale\Facades\Telltale; ->withExceptions(function (Exceptions $exceptions) { Telltale::handles($exceptions); })
To send logs, add a channel with the telltale driver to config/logging.php and include it in your stack:
'telltale' => [ 'driver' => 'telltale', ],
To change the defaults, publish the config file:
php artisan vendor:publish --tag=telltale-config
Then check the setup. Each flag sends one test payload of that kind:
php artisan telltale:test --errors --logs --traces
Keeping tests silent
Set an empty key in phpunit.xml so your test suite never sends anything:
<env name="TELLTALE_KEY" value=""/>
Testing the package
The test suite includes integration tests that need a running workbench server and queue worker:
composer install composer run build vendor/bin/testbench serve & vendor/bin/testbench queue:work & vendor/bin/pest
To run only the unit tests:
vendor/bin/pest --exclude-group=integration
Changelog
CHANGELOG and UPGRADING record the history of spatie/laravel-flare up to the point of the fork, and use its names.
Credits
- Spatie and all contributors to
spatie/laravel-flare, who wrote nearly all of this code.
License
The MIT License (MIT). Please see the License File for more information.