Laravel-admin之自定义操作日志

news2025/1/12 3:44:20

laravel-admin是封装性极好的框架,自带的就有操作日志的记录,但是对于非开发人员可能看不懂这个日志,所以就想着给修改一下,以谁修改了什么,谁删除了什么,谁审核了什么,谁添加了什么类似,这样才能根据相应的操作者进行相应的处理,

一、Admin框架封装的操作日志逻辑

所谓的自定义功能,其实就是重写逻辑,那么重写就意味着要参考框架原本的逻辑,框架的操作日志逻辑请参考文件

\vendor\encore\laravel-admin\src\Controllers\LogController.php

可以看到逻辑如下:在这里插入图片描述
同样地,框架操作记录日志的中间件的逻辑也可以找到,具体逻辑请自行查看

\vendor\encore\laravel-admin\src\Middleware\LogOperation.php

二、自定义操作日志逻辑

上一步知道了框架封装的逻辑,那么这一步就来根据自己的逻辑,覆写原来的逻辑。
后台需要新增控制器、以及路由,这是在laravel-admin中新增功能的两个步骤

  • 1、覆写LogController.php
    在\app\Admin\Controllers目录下新建LogController.php文件,命名空间为

namespace app\Admin\Controllers;

然后将\vendor\encore\laravel-admin\src\Controllers\LogController.php文件内容拷贝过来,根据自己的需求,进行改写grid()方法逻辑

  • 2、在后台路由文件(\app\Admin目录下的routes.php)中,增加路由
$router->resource(/auth/'logs', LogController::class);

写在最后

在这里插入图片描述
如图所示,\vendor\encore\laravel-admin\src\Auth\Database目录下的OperationLog.php中,protected $fillable = [‘user_id’, ‘path’, ‘method’, ‘ip’, ‘input’]只定义这几个字段,且与数据库表admin_operation_log字段想对应。

  • 如果你想在插入数据库时,就修改数据记录的内容,那么记得覆写LogOperation.php内容,目录是
\vendor\encore\laravel-admin\src\Middleware\LogOperation.php

覆写结果以后,记得修改后台使用的中间件组,我是直接在

vendor/encore/laravel-admin/src/AdminServiceProvider.php

修改了$routeMiddleware的值
在这里插入图片描述

  • 如果是想记录一下新的内容,那么需新增字段,一定要在protected $fillable = [‘user_id’, ‘path’, ‘method’, ‘ip’, ‘input’];中添加相对应的字段,这样在laravel-admin才能相应展示该字段

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/379749.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【java web篇】数据库连接池Driud的使用

📋 个人简介 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜📝 个人主页:馆主阿牛🔥🎉 支持我:点赞👍收藏⭐️留言&#x1f4d…

Apache DolphinScheduler 3.1.4 版本发布,修复一键安装报错问题

点击蓝字 关注我们2 月 27 日,Apache DolphinScheduler 发布了 3.1.4 版本。此版本共计修复 11 个 bug,并更新 1 个文档修复。其中的较为重要的 Bug fix 为:修复任务唤醒失败会阻塞事件处理 (#13466)修复 k8s 任务运行失败 (#13348) 修复 Me…

NodeJs 中的 HTML 模板

💂 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 HTML 模板是一种允许我…

信息系统基本知识(二)

大纲 信息系统与信息化信息系统开发方法常规信息系统集成技术软件工程新一代信息技术信息系统安全技术信息化发展与应用信息系统服务管理信息系统服务规划企业首席信息管及其责任 1.3 常规信息系统集成技术 系统集成:是指将计算机软硬件、网络通信等技术和产品集…

金三银四,助力你的大厂梦,2023年软件测试经典面试真题(1)(共3篇)

前言 金三银四即将到来,相信很多小伙伴要面临面试,一直想着说分享一些软件测试的面试题,这段时间做了一些收集和整理,下面共有三篇经典面试题,大家可以试着做一下,答案附在后面,希望能帮助到大…

如何实现双轮差速底盘躲避悬崖的功能?

1. 功能说明 本实验使用的样机为R023样机小型双轮差速底盘。在样机前方安装3个近红外传感器 ,实现机器人躲避悬崖、在某平台上移动时不会掉下去的效果。 2. 电子硬件 在这个示例中,我们采用了以下硬件,请大家参考: 主控板Basra&…

C/C++每日一练(20230301)

目录 1. 冒泡排序法排序 ★ 2. 有效的数独 ★★ 3. 不同的二叉搜索树 II ★★ 附录 二叉搜索树 1. 冒泡排序法排序 输入n(1≤n≤10)个整数,用冒泡排序法对其从小到大排序,共进行n-1趟,要求输出每一趟的排序情…

操作系统页表

页和段的区别 页式,一个程序的各页是根据你的程序空间连续编址的,程序地址空间只有一维; 而段式,一个程序拆分成各段,独立编址(各段都从零开始编址),程序地址空间有两维。 例如一…

人工智能高等数学--微积分_导数意义_求导公式_绝对值函数_relu函数_导数物理意义_几何意义---人工智能工作笔记0025

实际上这里看了看,这些数学的概念,有一定作用,但是综合来看,也可以先把人工智能课程都看一遍,大概知道怎么回事, 带着目的再来看人工智能的高等数学部分,这里,这些内容很花时间... 首先看人工智能用到的数学中的微积分~ 首先看这里的导数是什么意思? 其实就是,导数的公式是…

Ajax学习笔记01

引入 翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 最大的优点…

word中运行Mathtype报错、以及WordCmds.dot报错问题解决方案

1. 首先,先把电脑里的Mathtype卸载干净,然后重新安装。也可以尝试直接覆盖安装。 2. 安装之后将Mathtype里面的以下几个文件拷出来安装到不同的文件夹中: Office Support文件夹中: MathType Commands 2016.dotm WordCmds.dot …

【Leedcode】栈和队列必备的面试题(第三期)

【Leedcode】栈和队列必备的面试题(第三期) 文章目录【Leedcode】栈和队列必备的面试题(第三期)一、题目(用两个栈实现队列)二、思路图解1.定义两个栈2.初始化两个数组栈3. 将数据放入pushST数组栈中4.删除…

指标体系—北极星指标体系

北极星指标体系 每个产品都有很多指标,每个指标都反映了对应业务的经营情况。但是在实际业务经营中,却要求我们在不同的产品阶段寻找到合适的指标,让这个指标可以代表当前产品阶段的方向和目标,让这个指标不仅对业务经营团队,而且对产品的用户、对产品的价值都能有很好的…

③【Java 组】蓝桥杯省赛真题 [黄金连分数][马虎的算式]持续更新中...

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 蓝桥杯真题--持续更新中...一、黄金连分数&…

echarts图表设置关于图例legend,限制图例可点击时最少保留显示一个图例

echarts图表设置关于图例legend,限制图例可点击时最少保留显示一个图例 echarts图表设置关于图例legend,限制图例可点击时最少保留显示一个图例,亲测有效; 代码如下: // 初始化ecahrts let echartsWrapper this.$e…

【Leedcode】栈和队列必备的面试题(第二期)

【Leedcode】栈和队列必备的面试题(第二期) 文章目录【Leedcode】栈和队列必备的面试题(第二期)一、题目(用两个队列实现栈)二、思路图解1.定义两个队列2.初始化两个队列3.往两个队列中放入数据4.两个队列出…

Linux 自带按键驱动

目录 一、内核检查 二、驱动文件 三、设备树 四、验证 一、内核检查 内核一般默认已经使能了 KEY 驱动,但是还是要检查一下。按照如下路径找到相应的配置选项: Device Drivers -> Input device support -> Generic in…

WebRTC拥塞控制原理解析

WebRTC包含三种拥塞控制算法,GCC、BBR和PCC。其中,BBR一开始是针对TCP的拥塞控制提出来的。它的输入为ACK/SACK,输出为拥塞窗口(congestion_window)发送速度(pacing_rate)。BBR是怎样运用到UDP,甚至运用到实时流媒体传输之上的&am…

Java-封装、继承、多态

封装 访问控制权限又成为“封装”,是面向对象三大特征中的一种。核心是,只对需要的类可见。 继承 继承是所有OOP(Object Oriented Programming)语言和Java语言都不可或缺的一部分。 只要创建一个类,就隐式继承自Obje…

【计算机组成原理】计算机硬件的基础组成、认识各个硬件部件

计算机组成原理(一) 计算机内部是通过电信号传递数据 电信号:分为高电平和低电平,分别代表1/0 数字、文字、图像如何用二进制表示? CPU如何对二进制数进行加减乘除? 如何存储这些二进制数的? 如何从内存中取出想要的数…