aginev / activity-log
追踪Laravel 5应用程序中的用户活动
v1.0.0
2016-02-05 10:09 UTC
This package is auto-updated.
Last update: 2024-09-27 11:12:53 UTC
README
此包将追踪订阅模型上的创建、更新或删除事件,并存储有关它的有用信息。
功能
- Composer可安装
- PSR4自动加载
- 追踪订阅模型上的创建、更新或删除事件
- 在数据库或日志文件中写入日志
- 清理日志的命令
要求
仅构建Laravel框架5版本!
安装
在终端中
composer require aginev/activity-log:1.0.*
将服务提供者添加到config/app.php配置文件中,如下所示
// config/app.php 'providers' => [ '...', Aginev\ActivityLog\ActivityLogServiceProvider::class, ];
发布迁移
php artisan vendor:publish --provider="Aginev\ActivityLog\ActivityLogServiceProvider" --tag="migrations" php artisan migrate
发布配置
php artisan vendor:publish --provider="Aginev\ActivityLog\ActivityLogServiceProvider" --tag="config"
可选地,您可以添加活动日志命令,您将能够清理日志。
// app/Console/Kernel.php protected $commands = [ '...', \Aginev\ActivityLog\Commands\ActivityLogClean::class, ];
使用方法
要订阅活动日志模型,只需使用\Aginev\ActivityLog\Traits\ObservableModel
use \Aginev\ActivityLog\Traits\ObservableModel;
要添加自定义活动描述,请覆盖模型中的activityDescription方法
/** * Implement this method to set custom activity description message * @param $event Event name * @param User $user Current logged in user * @return string */ public function activityDescription($event, User $user = null) { return 'User ' . $this->full_name . ' has been ' . $event . ' from ' . $user->full_name; }
获取活动
$logs = \ActivityLog::getActivities()->get(); // Get all activities $logs = \ActivityLog::getLatestActivities(2); // Get latest 2 activities
清理日志
$logs = \ActivityLog::cleanLog(30); // Offset in days
在终端中清理日志
php artisan activity-log:clean
自定义处理程序实现
- 在您的自定义处理程序中实现\Aginev\ActivityLog\HandlersLogActivityInterface\ActivityLogInterface
- 将自定义处理程序作为值放置在activity-log.log配置中
致谢
https://github.com/spatie/activitylog - 类似包但实现不同。代码块从此处使用。谢谢!