landrok / laravel-request-logger
一个用于将HTTP请求记录到数据库的Laravel中间件。
1.0.4
2022-01-29 18:11 UTC
Requires
- php: >=7.1
- illuminate/database: >6.0
- jenssegers/agent: ^2.6
Requires (Dev)
- orchestra/testbench: >=4.0
- phpunit/phpunit: *
README
Laravel Request Logger提供了一种中间件,可以将HTTP请求记录到一个表中。
它可以重新配置以针对特定请求或仅记录指定信息。
记录了什么?
对于每个请求,以下信息被存储。
用户
- session_id
- user_id
- ip
- 路由
- route_params:可选
性能
- duration
- mem_alloc
HTTP内容
- method
- status_code
- url:此配置有2种方式:将其设置为
full
以记录带有查询的完整URL,或将其设置为true
以仅记录URL - referer
- referer_host
- request_headers:可选
- response_headers:可选
设备
以下值由jenssegers/agent
包提供。
- device
- os
- os_version
- browser
- browser_version
- is_desktop
- is_mobile
- is_tablet
- is_phone
- is_robot
- robot_name
- user_agent
其他
- meta:此字段用于自定义日志。请参阅RequestLogger::meta($value)
- created_at
目录
要求
Laravel Request Logger支持Laravel 6、7、8。
安装
composer require landrok/laravel-request-logger
使用以下命令创建request_logs
表:
php artisan migrate
配置
您可以选择记录每个调用(默认)、仅记录匹配某些模式的路由,或仅记录指定标准。
在发布配置文件之前。
php artisan vendor:publish --provider="Landrok\Laravel\RequestLogger\RequestLoggerServiceProvider"
配置文件位于config/requestlogger.php
。
Meta::set(string $key, $value)
此工具旨在从代码的任何位置(控制器、视图、服务等)将任何内容记录到meta
列。
use Landrok\Laravel\RequestLogger\Meta; Meta::set($key, $value);
$value
可以是字符串、数组或可序列化对象。它将作为JSON字符串存储。
在使用此方法之前,您必须在配置文件中授权此字段。
贡献
请随时提出问题和提交PR。欢迎贡献。
许可
Laravel Request License采用MIT许可协议(MIT)许可。