learncodeweb/activitylog

活动日志将管理用户在网页上的所有活动。此软件包非常适合在登录后跟踪任何管理/用户面板中的用户活动。已在Laravel 8、9、10、11上测试

安装: 12

依赖项: 0

建议者: 0

安全: 0

星级: 1

观察者: 1

分支: 0

开放问题: 0

语言:Blade

类型:gd-image-processing

v1.1 2024-04-19 08:36 UTC

This package is auto-updated.

Last update: 2024-09-19 10:15:42 UTC


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]);

如果您需要任何帮助,请向我询问,谢谢。