首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel Telescope -在请求面板中仅记录错误状态

Laravel Telescope -在请求面板中仅记录错误状态
EN

Stack Overflow用户
提问于 2021-04-08 22:36:50
回答 2查看 433关注 0票数 0

在Laravel Telescope调试工具的“请求”面板中,有没有一种方法可以只记录一些请求,而不是所有的请求?

例如,除了具有200302状态的请求之外的所有请求。

我试着修改config/telescope.php文件,特别是那部分

代码语言:javascript
复制
Watchers\RequestWatcher::class => [
    'enabled' => env('TELESCOPE_REQUEST_WATCHER', true),
    'size_limit' => env('TELESCOPE_RESPONSE_SIZE_LIMIT', 64),
]

但是我没有找到任何关于页面状态的选项。

我还尝试了修改register()方法的TelescopeServiceProvider.php文件,但没有成功。

谢谢你的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-08 23:22:41

Telescope允许您通过"tag“搜索条目。通常,标签是雄辩的模型类名或经过身份验证的用户ID,由Telescope自动添加到条目中。有时,您可能希望将自己的自定义标记附加到条目。为此,您可以使用Telescope::tag方法。标记方法接受一个闭包,该闭包应该返回一个标记数组。闭包返回的tags将与天文望远镜自动附加到该条目的任何标签合并。通常,您应该在App\Providers\TelescopeServiceProvider类的register方法中调用tag方法:

代码语言:javascript
复制
use Laravel\Telescope\IncomingEntry;
use Laravel\Telescope\Telescope;

/**
 * Register any application services.
 *
 * @return void
 */
public function register()
{
    $this->hideSensitiveRequestDetails();

    Telescope::tag(function (IncomingEntry $entry) {
        return $entry->type == 'request' && $entry->content['response_status'] == 302) ;
    });
 }

您也可以使用filter方法而不是标记来执行相同的操作。

票数 2
EN

Stack Overflow用户

发布于 2021-04-09 14:58:33

多亏了@MrEduar,我才能这样做:

代码语言:javascript
复制
Telescope::filter(function (IncomingEntry $entry) {
    if($entry->type == 'request' && !in_array($entry->content['response_status'], [200, 302])){
        return true;
    }else {
        return $entry->isReportableException() ||
            $entry->isFailedRequest() ||
            $entry->isFailedJob() ||
            $entry->isScheduledTask() ||
            $entry->hasMonitoredTag();
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67006272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档