Skip to content

日志管理

ArchSmith 内置了用户操作日志和登录日志功能,便于审计追踪和安全监控。

操作日志

功能特性

  • 自动记录增删改查操作
  • 记录操作者、操作类型、请求参数和响应
  • 分页列表,支持搜索筛选
  • 批量删除和清空全部

数据模型 — SysOperLog(sys_oper_log

字段类型描述
operIdLong主键
titleString操作模块名称
businessTypeInteger操作类型(创建/更新/删除等)
methodString控制器方法名
requestMethodStringHTTP 方法(GET/POST/PUT/DELETE)
operUrlString请求 URL
operIpString操作者 IP 地址
operLocationStringIP 地理位置(通过 ip2region)
operParamString请求参数(JSON)
jsonResultString响应内容(JSON)
statusInteger结果状态(0:失败,1:成功)
errorMsgString错误信息(失败时)
operNameString操作者用户名
operTimeDateTime操作时间

API 接口

方法接口路径描述
POST/admin-api/operation-logs查询操作日志列表(分页)
POST/admin-api/operation-logs/delete删除选中的日志
POST/admin-api/operation-logs/clear清空所有操作日志

登录日志

功能特性

  • 记录每次登录尝试(成功和失败)
  • 捕获浏览器、操作系统、IP 和地理位置
  • 适用于安全审计和异常检测
  • 分页列表,支持搜索筛选

数据模型 — SysLoginLog(sys_login_log

字段类型描述
loginIdLong主键
usernameString登录用户名
ipaddrString登录 IP 地址
loginLocationStringIP 地理位置
browserString浏览器名称和版本
osString操作系统
statusInteger结果(0:失败,1:成功)
msgString消息(成功或错误原因)
loginTimeDateTime登录时间

浏览器和操作系统检测使用 UserAgentUtils 库,IP 地理位置使用离线的 ip2region 数据库。

API 接口

方法接口路径描述
POST/admin-api/login-logs查询登录日志列表(分页)
POST/admin-api/login-logs/delete删除选中的日志
POST/admin-api/login-logs/clear清空所有登录日志

日志保留策略

默认情况下,日志将永久保存。管理员可以:

  • 通过管理后台手动删除特定日志条目
  • 使用清空接口清空所有日志
  • 通过添加定时任务来实现自动清理,删除超过可配置时间段的日志

服务层

  • SysOperLogService — 操作日志的增删改查
  • SysLoginLogService — 登录日志的增删改查
  • 两个服务都使用 Spring Data JPA 仓库配合 QueryDSL 进行动态筛选

相关页面

Released under the MIT License.