bilfeldt/laravel-request-logger

记录 Laravel 应用请求和响应以进行调试或统计

资助包维护!
bilfeldt

安装: 87 020

依赖者: 1

建议者: 0

安全: 0

星标: 95

关注者: 2

分支: 10

v3.3.0 2024-05-07 20:37 UTC

This package is auto-updated.

Last update: 2024-09-05 13:54:36 UTC


README

bilfeldt/laravel-request-logger

Latest Version on Packagist GitHub Tests Action Status StyleCI Code Style Status Total Downloads

在 Laravel 应用程序中将请求和响应无配置地记录到数据库或自定义驱动程序中 - 无需再为调试客户支持请求而烦恼。

安装

您可以通过 composer 安装此包

composer require bilfeldt/laravel-request-logger

使用以下命令发布并运行迁移

php artisan vendor:publish --provider="Bilfeldt\RequestLogger\RequestLoggerServiceProvider" --tag="request-logger-migrations"
php artisan migrate

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Bilfeldt\RequestLogger\RequestLoggerServiceProvider" --tag="request-logger-config"

使用方法

您可以使用以下方法之一有条件地启用所有或部分请求的记录。

通过中间件启用记录(推荐)

此包附带一个方便的 requestlog 中间件,您可以通过在路由(或路由组)上注册中间件来简单地启用请求的记录

Route::middleware('requestlog')->get('/', function () {
    return 'Hello World';
});

通过配置文件启用

配置文件包含一些方便的设置,用于启用所有或部分请求的记录

// Enable all requests:
'log_methods' => ['*'],

// or enable all server errors
'log_statuses' => ['5**'],

通过请求启用记录

此包在 Illuminate\Http\Request 类上添加了一个宏,使得可以直接从请求中启用记录

/**
 * Index posts.
 *
 * @param  Request  $request
 * @return Response
 */
public function index(Request $request)
{
    $request->enableLog();

    //
}

使用自定义驱动程序扩展

此包实现了 Laravel 管理类,使得在您的应用程序或第三方包中轻松注册自定义驱动程序成为可能。

可以将 example 驱动程序指定为中间件参数

Route::middleware('log:example')->get('/', function () {
    return 'Hello World';
});

或通过请求宏

$request->enableLog('example');

修剪

如果您不定期修剪日志,日志数量会迅速增长。为了保持日志可管理,您可以使用 prune 命令来删除旧日志,如 Laravel 文档中所述

$schedule->command('requestlog:prune')->daily();

请注意,此包默认设置的 RequestLog 模型不会被 Laravel 默认的 model:prune 命令识别为“可修剪”模型,因为它不在 app/Models 目录中。如果您将此类在配置中更改为自定义类,则将自动注册,上述命令将不再需要。

注意和建议

代理和负载均衡器

当使用代理和/或负载均衡器时,必须将代理/负载均衡器的 IP 地址列为 可信代理,以便正确记录用户的 IP 地址,否则将记录代理自身的 IP 地址。

测试

composer test

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

安全漏洞

有关如何报告安全漏洞的更多信息,请参阅 我们的安全策略

致谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅 许可文件