myzero1 / yii2-log
It can log by text,screenshot or both.
Installs: 51
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:yii2-module
Requires
- cagartner/phpquery: 0.9.8
- myzero1/yii2-theme-adminlteiframe: 1.2.7
- yiisoft/yii2: ~2.0.6
This package is not auto-updated.
Last update: 2024-11-16 16:02:44 UTC
README
The log module,include text log, screenshot log, and both.
Show time
Installation
The preferred way to install this module is through composer.
Either run
php composer.phar require myzero1/yii2-log:1.*
or add
"myzero1/yii2-log": "*"
to the require section of your composer.json
file.
Setting
Once the extension is installed, simply modify your application configuration(main.php) as follows:
return [ ...... 'bootstrap' => [ ...... 'z1log', ...... ], 'modules' => [ ...... 'z1log' => [ 'class' => '\myzero1\log\Module', 'params' => [ 'urlManager' => [ 'rules' => [ // 'rate/area/index' => 'rate/jf-core-area/index', ], ], 'remarksFieldsKey' => [ 'remark', // default filed // 'r1', // custom field, can add it by yourself ], 'userInfo' => [ 'id' => function(){ if(\Yii::$app->user->isGuest){ $id = 0; } else { $id = \Yii::$app->user->identity->id; } return $id; }, 'name' => function(){ if(\Yii::$app->user->isGuest){ $name = 'system'; } else { $name = \Yii::$app->user->identity->username; } return $name; } ], 'template' => [ 'user2/create' => [ 'model' => 'all', // text,screenshot,all 'addToTable' => 'user', // for creating 'text' => function(){ return '添加用户'; }, 'screenshot' => 'user2/update', // The template of screenshot 'obj' => [ 'label' => '.field-user2-username .control-label', 'value' => '#user2-username', ], 'remarks' => [// the items must be Closure 'remark' => function(){ return sprintf('Create it at %s.', date('Y-m-d H:i:s')); }, // 'r1' => function(){return 'r1'.time();}, ], ], 'user2/update' => [ 'model' => 'all', // text,screenshot,all 'text' => function(){ return '修改用户'; }, 'screenshot' => 'user2/update', // The template of screenshot 'obj' => [ 'label' => '.field-user2-username .control-label', 'value' => '#user2-username', ], 'remarks' => [// the items must be Closure 'remark' => function(){ return sprintf('Update it at %s.', date('Y-m-d H:i:s')); }, ], ], 'user2/delete' => [ 'model' => 'all', // text,screenshot,all 'text' => function(){ return '删除用户'; }, 'screenshot' => 'user2/update', // The template of screenshot 'obj' => [ 'label' => '.field-user2-username .control-label', 'value' => '#user2-username', ], 'remarks' => [// the items must be Closure 'remark' => function(){ return sprintf('Delete it at %s.', date('Y-m-d H:i:s')); }, ], ], ], ], ], ...... ], ...... ];
Apply migrations:
php yii migrate --migrationPath=@vendor/myzero1/yii2-log/src/migrations
Usage
You can access Demo through the following URL:
http://localhost/path/to/index.php?r=z1log/z1log-log/index
or if you have enabled pretty URLs, you may use the following URL:
http://localhost/path/to/index.php/z1log/z1log-log/index
use z1logAdd($model, $screenshot, $screenshotParams, $text, $obj, $remarks) anywhere
\myzero1\log\components\export\Export::z1logAdd('all', 'user2/update', ['id'=>$model->id], 'create user', sprintf('username:%s', $model->username), ['remark'=>'this is a remark']);
Usage scenario
-
Just add config to
mian.php
,when we want to add log,there is updating with the action.·The screenshots will record the data before updating.
-
Use
z1logAdd
api,when we are create a new record.we get he id of the new record at action,so easy .
/** * Creates a new User2 model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new User2(); if ($model->load(Yii::$app->request->post()) && $model->save()) { \myzero1\log\components\export\Export::z1logAdd('all', 'user2/update', ['id'=>$model->id], 'create user', sprintf('username:%s', $model->username), ''); Yii::$app->getSession()->setFlash('success', '添加成功'); return \myzero1\adminlteiframe\helpers\Tool::redirectParent(['index']); } else { return $this->render('create', [ 'model' => $model, ]); } }
- Use
z1logAdd
api,when we want to add log,but there is not updating with the action.