patrikp / laravel-api-logger
Laravel 5 API请求日志包
dev-master
2019-09-05 19:22 UTC
Requires
- php: ^7.2
- illuminate/support: ~5.8
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类将请求写入日志。
此包中添加了一个默认的日志实现。它仅记录GET、POST、PUT、PATCH和DELETE请求,并将写入默认的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。该接口要求您实现logRequest和logResponse。
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
作者
灵感
此项目受到了以下项目的启发: