Skip to content

v0.8.0

Choose a tag to compare

@sllhSmile sllhSmile released this 21 Sep 08:44
· 5 commits to main since this release

主要变更

  • 默认日志写入模式由 async 调整为可靠基线 sync;异步模式改为每 Worker 一个惰性、有界的消费队列,支持容量预算、同步回退和退出 drain。
  • API/SDK 始终保留 response.status_code,即使关闭响应详情也能正确按 4xx → WARNING、5xx/异常 → ERROR 判级;Header 和 Body 仍由 response_enabled 控制。
  • 合并采集器身份与提交时元数据,并增加 LogOrigin,保证 SDK Promise 跨协程完成时继续使用请求发起时的 request ID 和协程 ID。
  • 新增 WriteMode::SYNC、WriteMode::ASYNC,统一同步/异步配置标识。
  • 严格校验采集器布尔开关和 request_id_header,防止字符串 "false" 意外开启敏感日志或非法 Header 破坏请求。
  • API/SDK 共用 HTTP 日志级别策略;数据库日志继续仅依赖 Hyperf QueryExecuted 事件,不增加数据库 AOP。

兼容性调整

  • CollectorLoggerInterface 现在包含 PSR-3 八个级别方法,并增加可选第三参数 ?LogOrigin $origin = null;自定义实现需要补齐完整签名。
  • trace_log.write_mode 省略时现在默认为 sync。需要异步写入时应显式设置 WriteMode::ASYNC,并可通过 async.max_buffer_bytes 配置每 Worker 队列预算。
  • collectors.*.enabled 与 response_enabled 现在严格要求布尔值。

验证

  • PHPUnit:110 tests,354 assertions
  • PHPStan:No errors
  • PHP CS Fixer dry-run:通过
  • git diff --check:通过