2.7 KiB
2.7 KiB
工程简介
瑞米平台公共的日志模块
操作日志
主要面向用户的,要求简单易懂,反映出用户所做的动作。
核心功能
-
要实现以下功能:
- 自定义spring boot starter
- 定义日志注解
- AOP拦截日志注解方法
- 定义日志动态内容模板
-
模板中又需要实现:
- 动态模板表达式解析:用强大的SpEL来解析表达式
- 自定义函数:支持目标方法前置/后置的自定义函数
SQL脚本
DROP TABLE IF EXISTS t_system_log;
CREATE TABLE t_system_log
(
id VARCHAR(32) NOT NULL COMMENT '日志编号',
user_id VARCHAR(32) COMMENT '用户ID',
user_name VARCHAR(255) COMMENT '用户名称',
app_code VARCHAR(255) COMMENT '应用编码',
app_name VARCHAR(255) COMMENT '应用名称',
business_no VARCHAR(255) COMMENT '业务流水号',
business_type VARCHAR(255) COMMENT '业务类型(新增、修改、删除、查询、导入、导出、其他)',
log_content LONGTEXT COMMENT '日志模板内容',
log_extras LONGTEXT COMMENT '额外的日志内容',
request_url VARCHAR(255) COMMENT '请求地址',
request_ip VARCHAR(255) COMMENT '请求IP',
request_type VARCHAR(255) COMMENT '请求类型(POST、PUT、OPTIONS、DELETE)',
content_type VARCHAR(255) COMMENT '请求报文类型(map、json)',
request_body LONGTEXT COMMENT '请求报文',
response_body LONGTEXT COMMENT '响应报文',
request_time DATETIME COMMENT '请求时间',
response_time DATETIME COMMENT '响应时间',
execute_time BIGINT COMMENT '请求耗时',
trace_id VARCHAR(255) COMMENT '链路追踪ID',
error_info LONGTEXT COMMENT '异常信息',
user_agent VARCHAR(255) COMMENT '浏览器、操作系统、UI引擎标识',
revision INTEGER(11) COMMENT '乐观锁',
is_deleted INTEGER(1) COMMENT '逻辑删除;0-未删除 1-已删除',
group_tenant_id VARCHAR(32) COMMENT '部门租户ID',
company_tenant_id VARCHAR(32) COMMENT '公司租户ID',
created_by VARCHAR(32) COMMENT '创建人',
created_at DATETIME COMMENT '创建时间',
updated_by VARCHAR(32) COMMENT '更新人',
updated_at DATETIME COMMENT '更新时间',
PRIMARY KEY (id)
) COMMENT = '系统日志表';
系统日志
主要用于开发者调试排查系统问题的,不要求固定格式和可读性。
延伸阅读
https://tech.meituan.com/2021/09/16/operational-logbook.html