sherifai/clearcut

Laravel 包,用于在数据库中记录 Http 请求/响应

2.0.0 2019-11-10 14:21 UTC

This package is auto-updated.

Last update: 2024-09-11 00:29:42 UTC


README

Laravel 包,用于将 Http 请求/响应记录到数据库。它提供了一个中间件来处理请求记录,并设置一个带有 uuid 的 "X-Request-Id" 头部,以跟踪每个请求。所有记录都在后台进行,因此不会影响响应时间。

功能

  • 作为后台任务处理数据库中的请求记录
  • 为每个请求提供 UUID 以进行跟踪/调试
  • 定期将日志表导出到 Laravel 存储中
  • 可配置以匹配或排除某些请求

安装

在您的 composer.json 中要求 sherifai/clearcut 包并更新依赖项

$ composer require sherifai/clearcut

接下来发布配置。这是一个可选步骤,它包含一些默认记录所有请求的配置。

$ php artisan vendor:publish

接下来生成迁移文件

$ php artisan clearcut:migration

它将生成 <timestamp>_request_logs_table.php 迁移。

使用

要开始记录请求,请将 LogRequests 中间件添加到 Kernel.php

protected $middleware = [
    // ...
    \SherifAI\ClearCut\Middleware\LogRequests::class,
];

Clearcut 然后将记录过程推送到后台任务。

配置

配置文件 config/clearcut.php 包含选择性地记录请求的值。默认情况下 ClearCut 记录所有请求。然而,最重要的配置是

  1. 'dump_every' => 1000,它指定在将数据库导出之前记录请求的间隔。

  2. 'storage_disk' => 'local',它指定导出文件的存储位置

  3. 'queue_name' => 'clearcut',这是处理日志作业的默认队列

  4. 'enabled' => true,它确定包是否正在运行并存储请求记录

贡献

支持遵循 PSR-2 PHP 编码标准。

请在问题页面上报告您找到的任何问题。欢迎提交拉取请求。

许可证

在 MIT 许可证下发布,请参阅 LICENSE