Laravel Telescope是专为开发环境设计的调试监控工具,通过composer require laravel/telescope安装并执行php artisan telescope:install初始化,自动收集请求、异常、日志、数据库查询、邮件、队列任务等运行数据,提供可视化界面便于排查N+1查询、异常源头等问题,支持自定义记录与标签筛选,且可通过配置限制访问、清理数据以保障安全,显著提升开发效率。

Laravel Telescope 是 Laravel 官方提供的强大调试与监控工具,专为开发环境设计,能帮助开发者实时查看请求、异常、日志、数据库查询、队列任务、邮件、通知等应用行为。它不只用于“调试错误”,更是理解应用运行流程的可视化助手。
安装与配置 Telescope
在 Laravel 项目中使用 Composer 安装 Telescope:
composer require laravel/telescope安装完成后,执行安装命令:
php artisan telescope:install这会生成必要的迁移文件和服务提供者注册。接着运行迁移以创建数据表:
php artisan migrateTelescope 默认仅在 本地环境 启用。如需在其他环境启用,需在 config/telescope.php 中调整 gate 配置,或修改 TelescopeServiceProvider 中的授权逻辑。
监控核心应用行为
Telescope 提供多个标签页,覆盖应用的关键运行环节:
- Requests:查看所有 HTTP 请求的完整信息,包括请求参数、响应状态、头信息、会话数据等。
- Exceptions:自动捕获未处理异常和手动报告的错误,便于快速定位问题源头。
-
Logs:集中展示通过
Log::info()等方式写入的日志内容,无需翻看日志文件。 - Queries:记录所有数据库查询,包含执行时间、绑定参数和调用堆栈,有助于发现 N+1 查询等问题。
- Mail:预览发送的邮件内容,支持查看 HTML 和文本版本,且不会真实发出(开发环境)。
- Jobs:跟踪队列任务的推送与执行情况,查看任务参数与执行耗时。
- Cache:监控缓存的读取、写入、删除操作,辅助调试缓存逻辑。
自定义数据记录与调试技巧
除了自动收集的数据,你还可以主动记录调试信息:
use Illuminate\Support\Facades\Telescope; Telescope::recordDump([ 'user' => $user->toArray(), 'items_count' => $items->count() ]);也可以在代码中使用 dump(),Telescope 会自动捕获这些输出(前提是启用了 Dump 监控)。
利用 Tagging 功能,可为条目添加自定义标签,方便后续筛选。例如在 API 请求中打上 api 标签:
安全与性能注意事项
Telescope 不应部署在生产环境。它会存储敏感数据(如请求参数、会话内容),存在泄露风险。若必须在预发布环境使用,务必确保:
- 通过中间件限制访问权限(如仅允许特定 IP 或登录用户)。
- 定期清理历史记录,避免数据库膨胀。
- 禁用不必要的监控项(如 Redis、Cache 等),减少性能开销。
可通过配置文件 config/telescope.php 调整保留策略和启用的监听器。
基本上就这些。Laravel Telescope 让调试从“猜问题”变成“看问题”,大幅提升开发效率。合理使用,你会离不开它。










