操作日志记录模块
依赖引入
xml
<dependency>
<groupId>com.github.itdachen</groupId>
<artifactId>oplog-spring-boot-starter</artifactId>
<version>[最新版本]</version>
</dependency>添加注解
在 controller 层接口上添加 @Log() 注解。
注解参数
| 参数 | 描述 | 必填 | 数据类型 | 默认值 |
|---|---|---|---|---|
| title | 操作标题: 新增,修改,删除 | 是 | String | - |
| type | 操作类型: SAVE, UPDATE, DELETE等 | 否 | String | OTHER |
| version | 接口版本号 | 否 | String | v1.0 |
在 controller 类上添加 @FuncTitle("用户管理") 注解,用于标识该功能信息
示例
java
@Controller
@RequestMapping("/admin/user/info")
@FuncTitle("用户管理")
public class UserController {
@PostMapping(value = "" )
@ResponseBody
@Log(title = "新增" , type = 'SAVE')
public ServerResponse<UserInfoVO> saveInfo(@RequestBody UserInfoDTO userInfoDTO) throws Exception {
return ServerResponse.ok(userInfoService.saveInfo(userInfoDTO));
}
}操作日志入库
操作日志入口, 需要实现 IOplogClientService 接口, 示例:
java
import com.github.itdachen.boot.oplog.entity.OplogClient;
import com.github.itdachen.boot.oplog.manager.service.IOplogClientService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@Component
public class DefaultOplogClientServiceImpl implements IOplogClientService {
private static final Logger logger = LoggerFactory.getLogger(DefaultOplogClientServiceImpl.class);
@Override
public void save(OplogClient oplogClient) {
logger.info("操作日志: {}", oplogClient.toString());
// 日志库其他操作 ...
}
}操作日志数据库表
仅供参考
sql
CREATE TABLE `ta_fly_oplog_info` (
`id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '主键',
`plat_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '平台ID',
`plat_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '平台名称',
`app_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '应用名称',
`app_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '应用ID',
`app_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '应用版本号',
`tenant_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '租户ID/公司ID',
`tenant_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '租户名称/公司名称',
`prov_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '省代码',
`city_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '市/州代码',
`county_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '区/县代码',
`dept_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '部门ID',
`dept_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '部门名称',
`dept_level` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '部门等级',
`dept_parent_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '上级部门代码',
`title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '日志标题: 用户管理, 菜单管理等',
`type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '日志类型: button, uri',
`type_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '日志类型: 按钮, 链接',
`op_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '操作类型: SAVE,UPDATE,JUMP,REMOVE',
`op_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '操作类型: 新增, 修改, 删除, 查看',
`host_ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '操作IP地址',
`host_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '操作地址',
`host_os` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '操作系统',
`host_browser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '操作浏览器',
`user_agent` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '用户代理',
`request_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '请求ID',
`request_uri` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '请求URI',
`request_method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '请求方式: POST, PUT, GET, DELETE',
`request_params` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '请求参数',
`response_sjon` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '相应数据',
`response_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '相应状态码',
`response_status` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '操作状态: 成功, 失败, 异常',
`response_msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '返回消息',
`ex_info` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '异常信息',
`remarks` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注',
`execute_time` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '服务端处理耗时',
`del_flag` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '删除标记:N-未删除;Y-已删除',
`yearly` varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '年份',
`monthly` varchar(255) CHARACTER SET utf16 COLLATE utf16_general_ci NULL DEFAULT NULL COMMENT '月份',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`create_user` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建人',
`create_user_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建人id',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`update_user` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '更新人',
`update_user_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '更新人id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '操作日志' ROW_FORMAT = DYNAMIC;
剑鸣秋朔