一个PHP Laravel包,用于记录所有访问您网站的请求

3.1.1 2017-08-30 12:53 UTC

This package is not auto-updated.

Last update: 2024-09-20 22:01:09 UTC


README

Latest Stable Version

A PHP/Laravel Package to log all the requests, with the exceptions, country and city. It will help you get insight of your visitors activiy. Built on top of torann/geoip and jenssegers/agent

安装

使用composer安装

composer require rummykhan/xlog

添加服务提供者

app/config/app.php中添加这两个服务提供者

\Torann\GeoIP\GeoIPServiceProvider::class,
RummyKhan\XLog\XLogServiceProvider::class,

发布配置

使用命令发布配置

php artisan vendor:publish

更新geoip数据库

使用命令更新geoip数据库

php artisan geoip:update

添加中间件

XLogMiddleWare添加到您的app\Http\Kernel.php作为web中间件组

\RummyKhan\XLog\Http\Middleware\XLogMiddleware::class,

迁移日志表(如果您使用的是mongodb数据库,则无需迁移。)

迁移日志表迁移

php artisan migrate

配置应用程序的日志行为

php artisan vendor:publish将发布日志表迁移到迁移文件夹,将geoip.phpxlog.php发布到Laravel安装配置文件夹中。

日志环境

xlog.php中,您可以将igonore_environments指定为一个数组,在这些环境中,它不会记录任何请求或响应,例如。

'ignore_environments' => ['local', 'test'],

设置数据库类型

xlog.php中,您可以将db_type指定为一个字符串。由于Laravel支持的数据库(mysql、sqlite、pgsql)与Laravel不支持的数据库名称的行为不同,因此我使用了ProxyModel来根据数据库类型切换Eloquent Mode。例如,对于任何Laravel支持的数据库,您可以将其留空;对于mongodb,您可以将其设置为'mongo'。

'db_type' => 'mongodb'

支持的数据库类型包括(sqlite、mysql、pgsql、mongodb)。

数据库连接

xlog.php中,您可以将connection指定为一个字符串。此连接将用于保存日志。(默认情况下,它使用应用程序连接)

'connection' => env('DB_CONNECTION')

支持的数据库类型包括(sqlite、mysql、pgsql、mongodb)。

数据库表

xlog.php中,您可以指定日志的表名。

'table' => 'logs'

日志显示路由

xlog.php中,您可以指定您的路由。目前有三个路由。

  1. 索引:您可以使用Laravel分页以表格格式查看日志。
  2. 详情:您可以在其中查看日志详情。
  3. 删除:您可以删除一个日志。

(如果您想这样做,您可以选择指定您自己的路由和控制器。您需要做的就是调用RummyKhan\XLog\Models\Log模型以获取日志。)

'routes' => [
    'index'  => [ 'route' => '/admin/logs',      'action' => 'XLogController@index'],        // HTTP Method is GET
    'detail' => [ 'route' => '/admin/logs/{id}', 'action' => 'XLogController@detail'],       // HTTP Method is GET
    'delete' => [ 'route' => '/admin/logs/{id}', 'action' => 'XLogController@delete']        // HTTP Method is DELETE
],

更改路由时,不要更改路由中的通配符{id}

日志中间件

xlog.php中,您可以指定日志路由的中间件。默认中间件设置为auth。

'middleware' => ['auth']

MIT许可证

Laravel rummykhan/xlog在MIT许可证(MIT)下授权。