Files
2024-09-11 17:41:17 +08:00

2.7 KiB
Raw Permalink Blame History

工程简介

瑞米平台公共的日志模块

操作日志

主要面向用户的,要求简单易懂,反映出用户所做的动作。

核心功能

  • 要实现以下功能:

    • 自定义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

https://juejin.cn/post/7075184311397253128

http://mysql.taobao.org/monthly/2017/09/08/