x-slasher/laravel-mongodb-activity-log

一个用于监控您网站或应用程序用户并保存数据到mongodb的非常简单的活动记录器

dev-main 2022-08-17 19:09 UTC

This package is auto-updated.

Last update: 2024-09-18 00:05:46 UTC


README

Social Card of Laravel Activity Log

在您的Laravel应用程序内记录活动日志

Latest Version on Packagist GitHub Workflow Status Check & fix styling Total Downloads

spatie/laravel-activitylog 包提供易于使用的函数来记录应用程序用户的操作。它还可以自动记录模型事件。该包将所有活动存储在 activity_log 表中。

以下是一个演示如何使用它的示例

activity()->log('Look, I logged something');

您可以使用 Spatie\Activitylog\Models\Activity 模型检索所有活动。

Activity::all();

以下是一个更高级的示例

activity()
   ->performedOn($anEloquentModel)
   ->causedBy($user)
   ->withProperties(['customProperty' => 'customValue'])
   ->log('Look, I logged something');

$lastLoggedActivity = Activity::all()->last();

$lastLoggedActivity->subject; //returns an instance of an eloquent model
$lastLoggedActivity->causer; //returns an instance of your user model
$lastLoggedActivity->getExtraProperty('customProperty'); //returns 'customValue'
$lastLoggedActivity->description; //returns 'Look, I logged something'

以下是一个关于 事件记录 的示例。

$newsItem->name = 'updated name';
$newsItem->save();

//updating the newsItem will cause the logging of an activity
$activity = Activity::all()->last();

$activity->description; //returns 'updated'
$activity->subject; //returns the instance of NewsItem that was saved

调用 $activity->changes() 将返回此数组

[
   'attributes' => [
        'name' => 'updated name',
        'text' => 'Lorum',
    ],
    'old' => [
        'name' => 'original name',
        'text' => 'Lorum',
    ],
];

支持我们

我们投入了大量资源来创建 一流的开放源代码包。您可以通过 购买我们的付费产品之一 来支持我们。

我们非常感谢您从家乡寄给我们明信片,说明您正在使用我们的哪些包。您可以在 我们的联系页面 上找到我们的地址。我们将所有收到的明信片发布在我们的 虚拟明信片墙 上。

文档

您可以在 https://spatie.be/docs/laravel-activitylog/introduction 上找到文档。

如果您在使用包时遇到困难?发现了错误?您是否有关于改进活动日志的一般性问题或建议?请随意在 GitHub 上创建一个问题,我们将尽快解决它。

安装

您可以通过 composer 安装此包

composer require x-slasher/laravel-mongodb-activity-log

该包将自动注册自己。

您可以使用以下命令发布迁移

php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-migrations"

注意:默认迁移假设您正在使用整数作为模型ID。如果您正在使用 UUIDs 或其他格式,请在继续之前调整已发布迁移中 subject_id 和 causer_id 字段的格式。

发布迁移后,您可以通过运行迁移来创建 activity_log

php artisan migrate

您还可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-config"

同时,在 env 文件中将 ACTIVITY_LOGGER_DB_CONNECTION 的值设置为mongodb数据库连接名称

ACTIVITY_LOGGER_DB_CONNECTION = mongodb  //or the name of your mongodb connection name in config\database.php file

更新日志

有关最近更改的更多信息,请参阅 CHANGELOG

升级

有关详细信息,请参阅 UPGRADING

测试

composer test

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现了关于安全性的错误,请通过邮件 security@spatie.be 而不是使用问题跟踪器。

鸣谢

特别感谢Caneco提供标志,以及Ahmed Nagiv4版本中投入的所有工作。

许可协议

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