Laravel Telescope入门教程(上)

Laravel Telescope入门教程

        Laravel Telescope是Laravel的新应用型debug助手,由Mohamed Said和Taylor Otwell编写。它是开源的,在GitHub上免费,并将在下周发布。php

       您将经过Composer将Telescope做为第三方依赖项引入您的应用程序。web

       安装Telescope后,您将经过访问应用程序的/ telescope路径来访问它。数据库

Telescope是作什么的?数组

       若是您曾经使用过Clockwork或Laravel Debugbar,认为它们是功能强大的单机UI。缓存

       Telescope由一系列watchers组成,这些watchers“观察”进入应用程序的每一个请求,不管是来自HTTP请求,来自命令行,来自调度程序仍是来自队列。闭包

       这些watchers捕获关于这些请求及相关数据的各类信息- 例如数据库查询及其执行时间、缓存命中和未命中、事件触发、邮件发送等等。ide

       UI中有用于检查如下各项的选项卡,每一个选项卡都反映一个“Watcher”:命令行

  • 要求(Requests)debug

  • 命令 (Commands)3d

  • 时间表 (Schedule)

  • 工做 (Jobs)

  • 例外 (Exceptions)

  • 日志 (Logs)

  • 转储 (Dumps)

  • 查询 (Queries)

  • 模型 (Models)

  • 活动 (Events)

  • 邮件(Mail)

  • 通知 (Notifications)

  • 高速缓存 (Cache)

  • Redis 

Tab/Watchers

       让咱们逐步浏览每一个tab让咱们检查的内容。每一个tab都显示一个列表页面,而后容许您深刻查看任何给定项目的详细信息页面。

(HTTP)请求

(HTTP)请求

       此tab容许您查看进入应用程序的全部HTTP请求。您将可以查看全部HTTP请求以及有关每一个请求的各类有用信息。

(HTTP)请求

(HTTP)请求

(HTTP)请求

       每一个请求页面还显示与其余watchers有关此请求的任何数据; 例如:全部数据库查询以及它们花了多长时间;哪一个用户已针对此请求进行身份验证等等。

(HTTP)请求

命令

命令

       命令选项卡列出已运行的全部命令及其退出代码。进去后,您还能够查看全部参数、选项和相关项目。

命令 

时间表

       列出已运行的计划任务。在每一个任务的详细信息页面上,查看他们的全部计划信息,例如他们的cron计划(例如* * * * *)。

时间表

做业(Jobs)

做业(Jobs)

       “Jobs”选项卡列出已运行或所有正在运行的全部做业。它与Horizon相似,但Horizon仅限Redis。不只仅是一个UI,它还与队列工做者的运行方式进行交互。另外一方面,Telescope只是一个UI,但它也适用于全部队列驱动程序。

做业(Jobs)

       在做业列表页面上,您能看到做业名称、运行的队列和链接、状态以及发生时间。

       在做业详情页面上,您将可以看到全部这些数据以及:主机名、做业的彻底限定类名、链接、队列、尝试次数、超时、标签。

标签(Tags)

       若是有用户附加,则使用附加的Eloquent模型(例如App \ Video:1)自动标记做业。

       标签(Tags)

       诸如请求、命令等项目将由Telescope自动分配标签(例如,若是它是用户 的请求,它将自动分配标签Auth:1; 您能够单击该标签,它将仅过滤他们的标记项,等等)

       就像HTTP请求同样,您能够看到与此做业相关的各类信息,例如它触发的数据库查询,此做业启动的做业以及它生成的任何日志。

       若是您启动闭包(closure)而不是看到App \ Jobs \ RenderVideo,您会看到Closure(web.php:43)显示它的定义位置。

       新队列的闭包。

       Taylor为一个新库作出了贡献,带回了队列的闭包,Laravel曾经拥有这些闭包,但不久前就抛弃了。使用这些贡献和这个新库,若是你用模型将它导入到闭包中,它将存储模型ID,而不是整个模型,这要好得多(以及已经有的队列类)。因此,队列闭包又回来了!

 
 

       此次将用哈希序列化闭包; 这是由于有了排队闭包,有人能够事先修改你的队列事件,以便经过它注入任意PHP,这是很差的!如今它哈希序列化了,并再次检查你的代码。

       Closure被序列化为一个长字符串,其中包含整个代码及其散列(使用相似于签名URL的代码)。

例外状况

例外状况

       记录全部异常并容许您检查每一个异常。这将向您显示与其余选项卡相似的数据,如主机名、类型、请求、标签、通过身份验证的用户。

例外状况

       可是你也会看到代码中的位置,突出显示,上面和下面有几行代码;并且你也会得到完整的堆栈跟踪。

例外状况

例外状况

       您还能够从引起它的请求中获取指向异常详细信息页面的连接。

       注意:在许多选项卡中,若是您在单个页面上(例如,给定例外的页面),您将得到指向生成该页面的请求页面的连接。

       若是屡次发生相同的异常,它们将在列表页面上进行分组,但您仍然能够深刻查看异常显示页面中的各个异常。 

日志

       “日志”选项卡显示基本日志消息、级别以及全部日志项的发生时间。

日志

       当您访问该我的详细信息页面时,在日志项中,您能够看到更多信息,包括传递给日志项的任何上下文数据(做为数组)。

       “比挖掘原始文本文件更好”。

       若是您使用数组将上下文传递给日志项, 能够查看全部数据,查看触发它的请求,哪一个用户触发了它。“比挖掘原始文本文件好一点。”

日志

相关文章
相关标签/搜索