跳转到主要内容

什么是 Laravel Telescope

Laravel Telescope 是 Laravel 官方的调试工具,用于将应用内部状态可视化。 它可以详细记录请求、异常、查询、任务、日志、邮件、通知、缓存操作、计划任务等信息。 它是本地开发环境专用的调试工具。生产环境监控请使用 Laravel PulseLaravel Nightwatch

监控涉及的层次


安装

1

安装 Telescope

composer require laravel/telescope
2

发布资源与迁移文件

php artisan telescope:install
3

执行迁移

php artisan migrate
安装完成后,你可以通过 /telescope 访问仪表盘。

本地专用安装(推荐)

如果目的主要是本地调试,建议以 --dev 方式安装,并在 local 环境中手动注册服务提供者。
composer require laravel/telescope --dev

php artisan telescope:install
php artisan migrate
执行 telescope:install 之后,请从 bootstrap/providers.php 中删除 TelescopeServiceProvider 的注册。 然后在 App\Providers\AppServiceProviderregister 方法中手动注册。
public function register(): void
{
    if ($this->app->environment('local') && class_exists(\Laravel\Telescope\TelescopeServiceProvider::class)) {
        $this->app->register(\Laravel\Telescope\TelescopeServiceProvider::class);
        $this->app->register(TelescopeServiceProvider::class);
    }
}
同时在 composer.json 中禁用 auto-discovery。
{
  "extra": {
    "laravel": {
      "dont-discover": [
        "laravel/telescope"
      ]
    }
  }
}

可用的监视器(Watcher)

监视器负责在请求或命令执行期间收集遥测数据。 可以在 config/telescope.php 中管理启用状态与配置。
记录请求、请求头、Session 及响应内容。 可以通过 size_limit 限制记录的响应大小。
记录 SQL、绑定参数以及执行时间。 默认会将超过 100ms 的查询打上 slow 标签记录下来,非常适合用于性能瓶颈的检测。
Watchers\QueryWatcher::class => [
    'enabled' => env('TELESCOPE_QUERY_WATCHER', true),
    'slow' => 100,
],
记录队列任务的入队与执行结果。
记录被 report 的异常和堆栈信息。
记录应用日志。 默认记录 error 以上级别,可通过配置降低至 debug
记录 Artisan 命令的参数、选项、输出及退出码。
记录被 dispatch 的事件的负载与监听器信息(Laravel 内部事件除外)。
记录缓存的命中、未命中、更新与删除。
记录应用中执行的 Redis 命令。
记录 Eloquent 模型事件,并可根据需要收集 hydration 数量。
记录发出的通知。
支持在浏览器中预览发送的邮件,还可以下载为 .eml 文件。
记录发出的 HTTP 客户端请求。
记录 Gate / Policy 的授权判断结果。
记录被调度执行的命令及其输出。
记录渲染视图的名称、路径、数据以及 composer。
记录队列批次信息(任务与连接等)。
在 Telescope 的 Dump 标签打开期间,记录 dump 输出。

小结

任务推荐做法
引入composer require laravel/telescope --dev
保证仅在本地生效手动注册服务提供者 + dont-discover
数据库性能排查利用 Query Watcher 的慢查询标签(默认 100ms)

下一步

Laravel Pulse

引入用于生产环境性能聚合的仪表盘。

Laravel Nightwatch

生产环境的实时监控可以使用 Nightwatch。
最后修改于 2026年7月13日