patrikp/laravel-api-logger

Laravel 5 API请求日志包

dev-master 2019-09-05 19:22 UTC

This package is auto-updated.

Last update: 2024-09-06 06:50:39 UTC


README

在Laravel应用程序中记录API请求

安装

您可以通过composer安装此包

composer require patrikap/laravel-api-logger

可选地,您可以使用以下命令发布配置文件:

php artisan vendor:publish --provider="Patrikap\ApiLogger\ApiLoggerServiceProvider" --tag="config" 

用法

此包提供了一个中间件,可以作为全局中间件或单个路由添加。

// in `app/Http/Kernel.php`

protected $middleware = [
    // ...
    
    \Patrikap\ApiLogger\Middlewares\ApiLogger::class
];
// in a routes file

Route::post('/submit-form', function () {
    //
})->middleware(\Patrikap\ApiLogger\Middlewares\ApiLogger::class);

日志记录

使用两个类来处理传入请求的日志记录:一个LogProfile类将确定是否应该记录请求,而LogWriter类将请求写入日志。

此包中添加了一个默认的日志实现。它仅记录GETPOSTPUTPATCHDELETE请求,并将写入默认的Laravel日志记录器。

您可以自由实现自己的日志配置文件和/或日志写入类,并在config/api-logger.php中进行配置。

自定义日志配置文件必须实现\Patrikap\ApiLogger\LogProfile。该接口要求您实现shouldLogRequest

// Example implementation from `\Patrikap\ApiLogger\DefaultLogProfile`

public function shouldLogRequest(Request $request): bool
{
   return in_array(strtolower($request->method()), config('api-logger.logged_methods'));
}

自定义日志写入必须实现\Patrikap\ApiLogger\LogWriter。该接口要求您实现logRequestlogResponse

变更日志

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

作者

Patrikap

灵感

此项目受到了以下项目的启发: