otifsolutions/laravel-tracker

该软件包将跟踪用户活动并生成数据库表中的完整日志

dev-main 2022-07-15 08:12 UTC

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_statusfalse,则其他键将不起作用,并且不会跟踪任何内容)

软件包使数据库表保留一定天数的记录,并删除其余数据,默认设置为 20 天,您可以通过以下方式更改此设置

\OTIFSolutions\Laravel\Settings\Models\Setting::set('keep_except', $numDays);

设置自己的键

您可以使用自己的键和值使用 laravel tinker (php artisan tinker) 来设置 keyNamevalue,以下是一些键:track_cookiestracker_statustrack_misc_datatrack_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.logstorage 等。您必须通过在 Laravel 项目内部运行此命令来授予这些权限,对于基于 Debian 的 Linux 发行版,如 Ubuntu

为项目中的所有文件

sudo chmod -R 0777 *

为单个文件

sudo chmod -R 0777 file

其中 file 是文件 绝对路径

模型之间定义的关系

UserSession 是父模型。它与 UserActivity 具有单一到多对关系,与 RequestData 具有单一到多对关系,与 MyCookie 具有单一到多对关系,与 MiscData 具有单一到多对关系。

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件