otifsolutions / laravel-tracker
该软件包将跟踪用户活动并生成数据库表中的完整日志
Requires
- ext-curl: *
- ext-dom: *
- ext-json: *
- otifsolutions/laravel-settings: ^1
This package is auto-updated.
Last update: 2024-09-15 12:50:44 UTC
README
该软件包将跟踪用户活动并生成数据库表中的完整日志
要求
php >= 7.4
laravel >= 8.0
安装
Composer 推荐安装软件包
composer require otifsolutions/laravel-tracker
现在将这些中间件放在 App\Http\Kernel
路由中间件组 web 堆栈的末尾 (中间件的顺序很重要)
\OTIFSolutions\LaravelTracker\Http\Middleware\TrackActivities::class
或者
如果您想跟踪特定组的路由,请在 web.php 中的路由组上应用中间件,如下所示
use OTIFSolutions\LaravelTracker\Http\Middleware\TrackActivities; Route::middleware([TrackActivities::class])->group(static function () { // your routes to be tracked });
然后通过以下方式运行迁移
php artisan migrate
默认值
默认情况下,该软件包已启用,一旦安装,它将开始将网站访问记录到数据库表中。要检查默认设置,请参阅 OTIFSolutions\LaravelTracker\Traits\UtilityMethods 类构造函数
$this->trackerStatus = Setting::get('tracker_status') ?: true; $this->trackCookies = Setting::get('track_cookies') ?: false; $this->trackMiscData = Setting::get('track_misc_data') ?: false; $this->trackHttpRequests = Setting::get('track_http_requests') ?: true;
请注意(如果键 tracker_status
为 false
,则其他键将不起作用,并且不会跟踪任何内容)
软件包使数据库表保留一定天数的记录,并删除其余数据,默认设置为 20
天,您可以通过以下方式更改此设置
\OTIFSolutions\Laravel\Settings\Models\Setting::set('keep_except', $numDays);
设置自己的键
您可以使用自己的键和值使用 laravel tinker
(php artisan tinker)
来设置 keyName
和 value
,以下是一些键:track_cookies
、tracker_status
、track_misc_data
、track_http_requests
,这些键仅保留 boolean
值,因此请记住添加第三个参数为 'bool'
\OTIFSolutions\Laravel\Settings\Models\Setting::set('your_key', $trueFalse, 'bool');
清除旧数据
数据在用户每次点击页面时生成,最后我们会有大量的数据,我们有命令来删除这些数据,该命令计划在安装软件包后的第 30 天 08::00 AM
执行,时间将从安装软件包时开始,尽管我们可以随时手动运行此命令以删除数据(在设置的默认天数之前,默认为 20)
php artisan clear:records
注意
在 Linux 环境中,有时在安装软件包时,它需要为软件包工作而请求某些权限,例如位于 Laravel 项目的 laravel.log 和 storage 等。您必须通过在 Laravel 项目内部运行此命令来授予这些权限,对于基于 Debian 的 Linux 发行版,如 Ubuntu
为项目中的所有文件
sudo chmod -R 0777 *
为单个文件
sudo chmod -R 0777 file
其中 file 是文件 绝对路径
模型之间定义的关系
UserSession 是父模型。它与 UserActivity 具有单一到多对关系,与 RequestData 具有单一到多对关系,与 MyCookie 具有单一到多对关系,与 MiscData 具有单一到多对关系。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件