Commit Graph

2 Commits

Author SHA1 Message Date
Abner
574506bcbf feat: 添加结构化日志支持并优化错误处理
- 在 netlify/functions/_shared/server-logger.js 中重构日志函数,统一日志输出格式,支持 context 字段覆盖基础字段(如 message)
- 在 netlify/functions/_shared/middleware.js 中增强 withAuth 中间件,注入结构化 logger 到上下文,增加 request_start / request_end / request_error 日志追踪,并记录请求耗时
- 为所有 Netlify Function(giffgaff-sms-activate、giffgaff-graphql、auto-activate-esim、verify-cookie、giffgaff-token-exchange、giffgaff-mfa-challenge、giffgaff-mfa-validation、health)添加结构化日志,替换原有 console 输出,包含请求入参、状态和耗时
- 在 netlify/edge-functions/bff-proxy.js 和 markdown-negotiation.js 中实现 Deno 内联结构化日志,生成 requestId 并统一日志输出格式,支持 INFO/WARN/ERROR/DEBUG 级别控制
- 更新测试用例 tests/modules/server-logger.test.js 和 tests/functions/middleware-logging.test.js,新增日志级别过滤、context 覆盖、多实例隔离、OPTIONS 预检处理等测试场景
2026-06-26 21:28:21 +08:00
Abner
89bacd46ed feat: 新增服务端结构化日志模块并完善日志相关测试
- 新增 `server-logger` 工具,输出单行 JSON 日志,统一包含 level、message、function、requestId、timestamp 等字段并支持 context 扩展
- 实现日志级别控制(`LOG_LEVEL` 环境变量),通过 `createLogger` 工厂按需抑制 DEBUG 日志并提供 `parseLogLevel/LOG_LEVELS` 供测试验证
- 新增中间件集成测试 `middleware-logging.test.js`,验证请求开始/结束/异常日志、耗时统计、logger 注入以及每次请求生成唯一 requestId
- 新增模块单元测试 `server-logger.test.js`,覆盖 JSON 结构、context 合并、warn/error 路由到对应 console 方法、以及 DEBUG 级别在不同环境下的输出行为
2026-06-26 21:22:26 +08:00