rummykhan / xlog
一个PHP Laravel包,用于记录所有访问您网站的请求
Requires
- jenssegers/agent: ^2.5
- jenssegers/mongodb: ^3.2
- laravel/framework: 5.4.*
- torann/geoip: 1.0.*
README
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.php
和xlog.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
中,您可以指定您的路由。目前有三个路由。
- 索引:您可以使用Laravel分页以表格格式查看日志。
- 详情:您可以在其中查看日志详情。
- 删除:您可以删除一个日志。
(如果您想这样做,您可以选择指定您自己的路由和控制器。您需要做的就是调用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)下授权。