Laravel Telescope入门教程(上)

Laravel Telescope入门教程

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

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

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

Telescope是做什么的?

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

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

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

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

  • 要求(Requests)

  • 命令 (Commands)

  • 时间表 (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的代码)。

例外情况

例外情况

       记录所有异常并允许您检查每个异常。这将向您显示与其他选项卡类似的数据,如主机名、类型、请求、标签、经过身份验证的用户。

例外情况

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

例外情况

例外情况

       您还可以从引发它的请求中获取指向异常详细信息页面的链接。

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

       如果多次发生相同的异常,它们将在列表页面上进行分组,但您仍然可以深入查看异常显示页面中的各个异常。 

日志

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

日志

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

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

       如果您使用数组将上下文传递给日志项, 可以查看所有数据,查看触发它的请求,哪个用户触发了它。“比挖掘原始文本文件好一点。”

日志

转载于:https://my.oschina.net/u/3953752/blog/2874261

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值