Skip to content

v0.5.0 - 日志内容保护

Choose a tag to compare

@sllhSmile sllhSmile released this 11 Sep 02:11
· 10 commits to main since this release

新增

  • 为 apilog、sdklog 和 redislog 增加可配置的敏感字段脱敏与负载容量限制。
  • 新增 PayloadProcessorInterface,宿主应用可通过 Hyperf 容器替换内容处理策略。
  • 超限负载增加 payload_truncation 元数据,保留截断前的字节数。

改进与修复

  • Guzzle 出站请求统一使用当前 RequestContext 的 request ID,避免同一链路出现多个 ID。
  • 收紧日志失败 fallback,只保留安全的定位信息,不复制 Header、Body 或查询参数。
  • 将脱敏、截断和日志写入集中到 LogWriter,并保持 CLI 同步写入兼容。
  • 完善发布配置、容器工厂、中文代码注释和面向使用者的 README。

兼容性与边界

  • 要求 PHP >=8.2、Hyperf ^3.2、Guzzle ^7.0。
  • dblog 保持原有 SQL 与结果结构,不参与本次脱敏和截断。
  • multipart/form-data 原始请求体和 Redis 格式化 request.command 暂不做结构化脱敏,README 已明确说明。

验证

  • composer validate --no-check-publish 通过。
  • 全部 PHP 文件及 README 完整 PHP 示例语法检查通过。
  • PHPUnit:32 tests,107 assertions,全部通过。
  • Tag 源码树已确认不包含 DESIGN.md。