myzero1/yii2-log

It can log by text,screenshot or both.

Maintainers

👁 myzero1

Package info

github.com/myzero1/yii2-log

Type:yii2-module

pkg:composer/myzero1/yii2-log

Statistics

Installs: 51

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.1.4 2019-01-06 14:14 UTC

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause 50c934ec7d531e35e130ceb78f98b84b4caae2ad

  • Xuanwu Qin <myzero1.woop@sina.com>

This package is not auto-updated.

Last update: 2026-06-27 23:15:58 UTC


README

The log module,include text log, screenshot log, and both.

Show time

👁 Image
👁 Image

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.