yii2记录admin操作日志
来源:互联网 发布:沪宁杭 知乎 编辑:程序博客网 时间:2024/06/06 03:19
出于监控多用户操作后台的目的,往往需要把各个管理员操作了什么记录下来。这个功能用yii2来实现简直是太简单了!下边上代码~
在backend目录创建components/AdminLog.php
<?phpnamespace backend\components;use Yii;use yii\helpers\Url;class AdminLog{ public static function write($event) { // 具体要记录什么东西,自己来优化$description if(!empty($event->changedAttributes)) { $desc = ''; foreach($event->changedAttributes as $name => $value) { $desc .= $name . ' : ' . $value . '=>' . $event->sender->getAttribute($name) . ','; } $desc = substr($desc, 0, -1); $description = Yii::$app->user->identity->username . '修改了' . $event->sender->className() . 'id:' . $event->sender->primaryKey()[0] . '的' . $desc; $route = Url::to(); $userId = Yii::$app->user->id; $data = [ 'route' => $route, 'description' => $description, 'created_at'=>time(), 'user_id' => $userId ]; $model = new \common\models\AdminLog(); $model->setAttributes($data); $model->save(); } }}
在backend/config/main.php添加
'on beforeRequest' => function($event) { \yii\base\Event::on(\yii\db\BaseActiveRecord::className(), \yii\db\BaseActiveRecord::EVENT_AFTER_UPDATE, ['backend\components\AdminLog', 'write']); },
mysql中创建admin_log表
CREATE TABLE `admin_log` ( `id` int(10) NOT NULL AUTO_INCREMENT, `route` varchar(255) NOT NULL DEFAULT '', `description` text, `created_at` int(10) NOT NULL, `user_id` int(10) NOT NULL DEFAULT '0', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
1 0
- yii2记录admin操作日志
- Yii2 实现后台操作记录日志
- Laravel-admin之修改操作日志
- Yii2 后台添加《操作日志》的功能
- sa--记录操作日志
- 记录mysql操作日志
- YII2 日志
- yii2-rbac及yii2-admin可视化管理
- Yii2中记录log日志的配置和使用方法
- yii2 日志操作(log)以及写入不同的log文件
- FEC ADMIN : Yii2 扩展 DWZ UI 整合 - composer 安装 - 账户管理,菜单管理,权限管理,日志缓存管理
- JAVA记录用户操作日志
- MySQL设置记录操作日志
- Delphi操作Excel日志记录
- mysql记录操作日志功能
- 动静分离操作日志记录
- C#记录日志,文件操作
- springmvc 切面记录操作日志
- Web前端开发必备--浏览器知识科普
- 配置好的popupwindow 拿来就用
- Java编程中常见的异常
- BitmapFactory.decodeFile能否对一张来自HTTP的图片进行解码呢
- Java数据结构和算法-简单排序(1-冒泡排序)
- yii2记录admin操作日志
- hdu1312 Red and Black
- mysql update的存储过程
- Android 如何让EditText不能自动获取焦点
- [Hibernate]hibernate4不使用hibernate3的AnnotationSessionFactoryBean配置sessionFactory
- Android实战基础(一)超简单的实现沉浸式状态栏
- Android fastjson对象转字符串
- unix/Linux常用命令英文全称与中文解释 man ,su,ps,ls 等等
- Android进阶:实现多线程下载文件