🤞Web项目:论日志表的重要性及其创建过程🤞
先说一下为什么要用日志表,再结合现有案例讲一下日志表都需要哪些字段
究其原因,主要是记录系统中用户的重要关键节点的操作流程及其内容,便于留痕和数据恢复。
我们项目中曾经遇到过这样一个情况,前端人员在测试前后端联调的时候把工具真实的编号当作主键id进行了删除操作,关键这删除操作还操作了不止一次,最后把数据表中的几条工具删除了,但是没有日志记录,前端也不知道都删除了哪些工具,我整个一懵逼了,之后我才知道了有一个日志表是如何的有用了,再也不怕前端的骚操作了。
若依框架这种牛叉的系统都有日志表,有其可以知道日志表是多么牛皮了,今天一起来创建一个日志表
CREATE TABLE `sys_oper_log` (
`oper_id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键',
`title` varchar(50) DEFAULT '' COMMENT '模块标题',
`business_type` int DEFAULT '0' COMMENT '业务类型(0其它 1新增 2修改 3删除)',
`method` varchar(100) DEFAULT '' COMMENT '方法名称',
`request_method` varchar(10) DEFAULT '' COMMENT '请求方式',
`operator_type` int DEFAULT '0' COMMENT '操作类别(0其它 1后台用户 2手机端用户)',
`oper_name` varchar(50) DEFAULT '' COMMENT '操作人员',
`dept_name` varchar(50) DEFAULT '' COMMENT '部门名称',
`oper_url` varchar(255) DEFAULT '' COMMENT '请求URL',
`oper_ip` varchar(128) DEFAULT '' COMMENT '主机地址',
`oper_location` varchar(255) DEFAULT '' COMMENT '操作地点',
`oper_param` varchar(2000) DEFAULT '' COMMENT '请求参数',
`json_result` varchar(2000) DEFAULT '' COMMENT '返回参数',
`status` int DEFAULT '0' COMMENT '操作状态(0正常 1异常)',
`error_msg` varchar(2000) DEFAULT '' COMMENT '错误消息',
`oper_time` datetime DEFAULT NULL COMMENT '操作时间',
`cost_time` bigint DEFAULT '0' COMMENT '消耗时间',
PRIMARY KEY (`oper_id`),
KEY `idx_sys_oper_log_bt` (`business_type`),
KEY `idx_sys_oper_log_s` (`status`),
KEY `idx_sys_oper_log_ot` (`oper_time`)
) ENGINE=InnoDB AUTO_INCREMENT=123 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='操作日志记录';
从上边的这些字段中可以看出记录各种操作中的日志,很好的便于之后的数据恢复和操作留痕。
大功告成,撒花致谢🎆🎇🌟,关注我不迷路,带你起飞带你富