landrok/laravel-request-logger

一个用于将HTTP请求记录到数据库的Laravel中间件。

1.0.4 2022-01-29 18:11 UTC

This package is auto-updated.

Last update: 2024-08-29 05:37:18 UTC


README

Build Status Test Coverage Code Climate

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)许可。