qylinfly/action-log

一个ActionLog的Laravel包

2.1.0 2018-03-27 04:39 UTC

This package is not auto-updated.

Last update: 2024-09-26 15:12:46 UTC


README

Laravel 5 自动记录操作日志

安装

可以通过Composer安装ActionLog服务提供者,在项目中的composer.json中要求qylinfly/action-log包,并将minimum-stability设置为dev(Laravel 5所需)。

{
    "require": {
       
        "qylinfly/action-log": "2.0.*"
    },
    ...
}

或者

使用composer安装此包

composer require qylinfly/action-log 

使用composer update更新包或使用composer install安装。

使用方法

要使用ActionLog服务提供者,您必须在启动Laravel应用程序时注册提供者。主要有两种方法可以实现。

config/app.php中找到providers键并注册ActionLog服务提供者。

    'providers' => [
        // ...
        'Qylinfly\ActionLog\ActionLogServiceProvider',
    ]

对于Laravel 5.1+

    'providers' => [
        // ...
        Qylinfly\ActionLog\ActionLogServiceProvider::class,
    ]

config/app.php中找到aliases键。

    'aliases' => [
        // ...
        'ActionLog' => 'Qylinfly\ActionLog\Facades\ActionLogFacade',
    ]

对于Laravel 5.1+

    'aliases' => [
        // ...
        'ActionLog' => Qylinfly\ActionLog\Facades\ActionLogFacade::class,
    ]

配置

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

php artisan vendor:publish --provider="Qylinfly\ActionLog\ActionLogServiceProvider" --tag="migrations"

该包假设您的用户表名为“users”。如果这不是您的情况,您应手动编辑已发布的迁移以使用您自定义的表名。

迁移发布后,您可以通过运行迁移来创建角色和权限表

php artisan migrate

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

php artisan vendor:publish --provider="Qylinfly\ActionLog\ActionLogServiceProvider" --tag="config"

要使用自己的设置,发布配置config/actionlog.php

return [
    //Middleware which records the request method
    'request_methods'=>['POST','GET'],
    //Fill in the name of the model to be logged, which can be multiple
    'models'=>['\App\User'],
    //Whether it is open
    'enable'=>true
];

演示

自动记录操作日志,数据库操作应如下所示

update

$users = Users::find(1);
$users->name = "myname";
$users->save();

add

$users = new Users();
$users->name = "myname";
$users->save()

delete

Users:destroy(1);

激活日志操作日志

  • 自定义记录用户访问
use ActionLog

ActionLog::createActionLog($type,$content);

中间件

  • 中间件自动记录用户访问
class Kernel extends HttpKernel
{
    protected $middleware = [
       \Qylinfly\ActionLog\Middleware\UserActionLog::class
    ];
     ...
}