learncodeweb / activitylog
活动日志将管理用户在网页上的所有活动。此软件包非常适合在登录后跟踪任何管理/用户面板中的用户活动。已在Laravel 8、9、10、11上测试
Requires
- php: >=7.0
- guzzlehttp/guzzle: ^7.0.1
Requires (Dev)
- phpunit/phpunit: >=6.0.0
README
此软件包仅适用于Laravel >=8框架。
手动安装过程。
在项目根目录下运行以下命令下载此DIR,并将其粘贴到activitylog文件夹中。我们没有任何软件包,所以您必须手动进行。
mkdir -p packages/lcw/activitylog
复制后,将代码移动到该目录并更新composor,使用以下命令。
cd packages/lcw/activitylog/
composer dump-autoload
简单使用只需在您的根composer.json中的autoload部分添加以下行。
"Lcw\\Activitylog\\": "packages/lcw/activitylog/src/"
添加类似内容后,composer.json看起来应该如下。
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/",
"Lcw\\Activitylog\\": "packages/lcw/activitylog/src/"
}
},
添加后,运行以下命令在composor中加载软件包。
composer dump-autoload
Composer安装
打开composer.json
并在repositories数组下添加以下行。如果您有其他软件包,请将其附加到该软件包。它应该看起来像以下。
"repositories": [
....,
....,
....,
{
"type": "vcs",
"url": "https://github.com/kateoftokyo/Dashboard-Activity-Log"
}
],
添加上述代码后,尝试在项目中安装软件包。
composer require lcw/activitylog
添加服务
在composor添加服务提供者后,在config/app.php
中的provider数组下添加以下行,最好在packages部分添加。
/*
* Package Service Providers...
*/
...
...
Lcw\Activitylog\Providers\ActivityLogProvider::class,
迁移导出
对于迁移,运行以下命令。
php artisan vendor:publish --provider="Lcw\Activitylog\Providers\ActivityLogProvider" --tag="migrations"
迁移发布后,只需运行简单命令添加表。
php artisan migrate
配置导出
您还可以将配置文件导出到项目根目录的config中,此功能使您能够更改需要更改的事情。使用配置导出,您可以在配置文件中设置删除限制,还可以添加不保存活动的路由PATH/NAMES。
在根目录上运行以下命令以导出配置。
php artisan vendor:publish --provider="Lcw\Activitylog\Providers\ActivityLogProvider" --tag="config"
在publish config
后,您可以根据需要设置参数。以下是所有可用参数的列表。
/**
* Change the value to change the activity log delete limit
* By default it is 3 in months
* @param integer in months
*/
'delete_limit' => 2,
/**
* Pass route path or names
* If you don't want to create the activity log use ignore_routes
* @param route URI/NAMES
*/
'ignore_routes' => ['dashboard.index', 'settings.download.history.activity_log'],
设置配置在设置忽略路由[如果设置系统忽略在该路由上创建活动]
您还可以通过编辑配置文件config\lcw_activity_log_config.php删除数据并更改默认限制。默认设置为3个月。
仅按月份定义
delete_limit = 2
默认视图默认有一个查看日志的视图,但您可以在您的应用程序中创建自己的日志视图。使用此软件包,将创建一个路由,如下所示。
路由名称
lcw_activity_log_index
URI
Your-Domain-Url/log
您可以使用以下方法在控制器中使用自己的视图来获取日志数据。
use Lcw\Activitylog\ActivityLog;
$activityLog = new ActivityLog();
$log = $activityLog->get($request);
您还可以在控制器中调用logDelete()方法来删除日志,如下所示。
use Lcw\Activitylog\ActivityLog;
$activityLog = new ActivityLog();
$log = $activityLog->logDelete(1); # delete all one month old log data
自定义创建
您可以使用以下方法创建自定义活动日志。以下是需要传递给自定义日志的参数。
@param log [string]
@param server_ip [The server IP address]
@param user_ip [The client/user IP address]
@param route_detail [Array with route path details]
@param query_string [Array with parameters]
@param user_id [Auth session id]
@param user [Array of auth]
@param created_at [datetime]
use Lcw\Activitylog\ActivityLog;
$activityLog = new ActivityLog();
$activityLog->create(['log' => 'Update notification', 'query_string' => $parameters]);
如果您需要任何帮助,请向我询问,谢谢。