2017 © Pedro Peláez
 

yii2-extension yii2-humans-log

人类能看得懂的操作日志

image

yiier/yii2-humans-log

人类能看得懂的操作日志

  • Thursday, December 7, 2017
  • by forecho
  • Repository
  • 4 Watchers
  • 1 Stars
  • 12 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Log for Humans for Yii2

人类能看得懂的操作日志, (*1)

Latest Stable Version Total Downloads Latest Unstable Version License, (*2)

Description

  • 此扩展只要你按照约定的规则,可以帮你记录操作日志。
  • 只能监控单条数据,所以不适用于需要操作多条数据。
  • 无法做到颗粒度很细的日志,比方说你要记录谁操作了订单的状态,此扩展是无法做到的,你只能记录谁操作了订单,也只能记录订单的最新状态,操作之前的状态无法记录。
  • 有特殊情况的话,可以使用 yiier\humansLog\models\HLog::saveLog() 方法单独记录日志。
  • 模板使用说明可以看截图,也可以看 src\views\h-log-template\_form.php 文件。

Installation

The preferred way to install this extension is through composer., (*3)

Either run, (*4)

php composer.phar require --prefer-dist yiier/yii2-humans-log "*"

or add, (*5)

"yiier/yii2-humans-log": "*"

to the require section of your composer.json file., (*6)

Migrations

Run the following command, (*7)

php yii migrate --migrationPath=@yiier/humansLog/migrations/

Configuration

Once the extension is installed, simply modify your application configuration as follows:, (*8)

return [
    'modules' => [
        'humans-log' => [
            'class' => 'yiier\humansLog\Module',
            // 'mainLayout' => '@app/views/layout/hlog.php',
            // 'safeDelete' => false
        ],
    ],
];

Usage

Method One (方式一,推荐)

you need to include it in config in bootstrap section:, (*9)

return [
    'bootstrap' => [
        'yiier\humansLog\EventBootstrap',
    ],
];

Method Two (方式二)

Configure Controller class as follows :, (*10)

use use yiier\humansLog\HLogBehavior;

class Controller extends \yii\web\Controller
{
    public function behaviors()
    {
        return [
            HLogBehavior::className(),
        ];
    }
}

Configure Model class as follows :, (*11)

use use yiier\humansLog\HLogBehavior;

class ActiveRecord extends \yii\db\ActiveRecord
{
    public function behaviors()
    {
        return [
            HLogBehavior::className(),
        ];
    }
}

DIY USE

Demo, (*12)

template, (*13)

INSERT INTO `h_log_template` (`id`, `title`, `unique_id`, `template`, `method`, `status`, `created_at`, `updated_at`)
VALUES
    (16, '订单备注记录', 'orderRemarkUpdateRecord', '订单 {order_number} 的备注从『{old-remark}』更新为 『{remark}』', 5, 1, 1561953330, 1561953330);

public function afterSave($insert, $changedAttributes)
{
    parent::afterSave($insert, $changedAttributes);
    if (!\Yii::$app instanceof \yii\console\Application) {
        $changedRemark = ArrayHelper::getValue($changedAttributes, 'remark');
        if (!$insert && $this->remark != $changedRemark) {
            $logData = [
                'order_number' => $this->order_number,
                'old-remark' => $changedRemark,
                'remark' => $this->remark
            ];
            HLog::saveLog('orderRemarkUpdateRecord', $logData, $this->order_number);
        }
    }
}

Routing

You can then access Merit Module through the following URL:, (*14)

http://localhost/path/to/index.php?r=humans-log/h-log
http://localhost/path/to/index.php?r=humans-log/h-log-template
http://localhost/path/to/index.php?r=humans-log/h-log-template/create

Screenshots

Create log Template, (*15)

Log Template, (*16)

Logs, (*17)

The Versions

07/12 2017

dev-master

9999999-dev

人类能看得懂的操作日志

  Sources   Download

BSD-4-Clause

The Requires

 

log extension yii2

07/12 2017

v0.2

0.2.0.0

人类能看得懂的操作日志

  Sources   Download

BSD-4-Clause

The Requires

 

log extension yii2

06/12 2017

v0.1

0.1.0.0

人类能看得懂的操作日志

  Sources   Download

BSD-4-Clause

The Requires

 

log extension yii2