✨ feat(database): 完善请求日志体系并为全表补充时间字段

- request_log 新增 user_agent 列(含旧表 ALTER 迁移)及 ip/status 索引,记录解码后的明文 query(含 key,不脱敏)
- 请求日志批量写入改为多值 INSERT 单次往返,替代事务逐条 Exec
- 新增按本地时区分天聚合查询,状态页展示今日请求量与近 7 天请求趋势(峰值日高亮)
- 新增 TZ 时区支持:.env 配置 TZ 后日志时间戳与状态页全部时间统一生效,二进制内嵌 tzdata 保证容器可用
- 五张表统一补齐 created_at/updated_at 字段,启动时自动补列并按业务时间回填旧行
- device_pool 的 device_header 增加唯一约束;audio_cache 写入改为 UPSERT 修复同 key 重复报错
- 状态页"最近请求"新增 UA 列与限流状态显示;config.yaml 暴露 rate_limit_qps 配置并默认启用请求日志
- deploy.sh 同名版本默认拒绝覆盖,新增 --force/-f 参数显式允许覆盖
This commit is contained in:
chenxin committed 2026-10-09 22:12:17 +08:00
1 parent 1a4997e031
commit e3d96ca637
13 files changed
+288 -55

No files matched your search

+3 -1
View File
@@ -5,10 +5,12 @@ server:
port: "40180" # 监听端口
host: "0.0.0.0" # 监听地址
access_key: "" # 访问密钥,为空则不启用验证(用于 /status)
rate_limit_qps: 0 # 每 IP 每秒请求上限(令牌桶,突发 10),0=不限制
# 请求日志(只记元数据与错误摘要,不存响应体;在 /status 页"最近请求"展示)
# 注意:日志时间显示与"近 7 天请求"统计依赖 .env 中的 TZ 时区
request_log:
enabled: false
enabled: true
retention_days: 7 # 日志保留天数,自动清理
# 番茄小说配置