gecole / telescope
A local request, query, exception and job inspector for the Gecole framework, stored in its own SQLite database.
Requires
- php: >=8.3
- ext-pdo: *
- ext-pdo_sqlite: *
- gecole/framework: dev-main
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-11-08 15:11:30 UTC
README
A local inspector for requests, SQL queries, exceptions, queued jobs and scheduled tasks. It ships as an optional package so the framework core stays dependency-free.
composer require gecole/telescope
Add the provider:
// config/app.php
'providers' => [
// …
\Gecole\Telescope\TelescopeServiceProvider::class,
],
Open http://localhost:8000/telescope. The provider is enabled outside
production by default; set TELESCOPE_ENABLED=false to turn it off everywhere.
Publish the editable configuration when you need to change it:
php bin/console vendor:publish --tag=config
# config/telescope.php now exists; use --force to replace an existing copy
Its own database
Telescope never uses the application connection. It opens
storage/framework/telescope.sqlite directly, so recording a query cannot
generate another inspected query. Point it somewhere else with
TELESCOPE_DATABASE or the published config/telescope.php.
// config/telescope.php
return [
'enabled' => (bool) env('TELESCOPE_ENABLED', true),
'path' => 'telescope',
'database' => storage_path('framework/telescope.sqlite'),
'public' => false, // loopback requests are allowed by default
'limit' => 5000, // newest entries kept
'ignore' => ['telescope', 'health', 'favicon.ico'],
'max_queries' => 100,
];
Only loopback requests reach the dashboard unless public is true. When the
dashboard is exposed through a proxy or another auth layer, enable public and
keep that layer in front of it.
What is recorded
| Type | Details |
|---|---|
request | method, path, status, duration, IP, headers, response size, query count |
query | SQL, bindings, duration; redacts credentials in bindings |
exception | class, message, file, line and a compact trace |
job | processed, released and failed jobs with queue and attempts |
schedule | scheduled task runs and failures |
Entry pages open with a structured overview: request metadata, highlighted SQL and bindings, an exception callout with its trace, or job details. The raw JSON payload stays available in a collapsible, syntax-highlighted panel.
Headers, tokens, cookies, passwords and API keys are redacted before they reach the store.
Commands
php bin/console telescope:clear
php bin/console telescope:prune --hours=24
Entries are also pruned automatically once the configured limit is exceeded.
Notes
- The dashboard is read-only apart from Clear.
- Route caching includes the package routes; clear the route cache after installing or removing the package.
- Recording failures are logged once and never replace an application response.