Skip to content

feat: CLI 日志默认显示用户视角,新增 --verbose 标志#24

Merged
bigmanBass666 merged 1 commit into
mainfrom
feature/cli-logs-user-view
Jul 15, 2026
Merged

feat: CLI 日志默认显示用户视角,新增 --verbose 标志#24
bigmanBass666 merged 1 commit into
mainfrom
feature/cli-logs-user-view

Conversation

@bigmanBass666

Copy link
Copy Markdown
Contributor

变更内容

akswitch logs 命令的显示从"代理调试视角"改为"用户使用视角"。

默认显示(新)

[10:30:00.123] 200 (openai, key: my-key, 1234ms)
  • method、URL、retry=0 默认隐藏
  • 只显示用户关心的信息:status、provider、key、duration

Verbose 显示(原格式)

[10:30:00.123] openai GET /v1/chat/completions -> 200 (retry 0, 1234ms, key: my-key)
  • akswitch logs --verbose 恢复完整调试信息

架构

  • 提取 formatLogLine() 纯函数,纯字符串格式化,可独立单元测试
  • 不修改 LogEntry 结构体、/logs API、LogStore — 存储层完全不变
  • 向后兼容:--verbose 可选,默认行为改变无需调用方调整

测试

  • 8 个 formatLogLine 单元测试(覆盖默认隐藏、显示、retry、duration、provider 为空、verbose 显示、负数边界)
  • 1 个 --verbose 标志注册测试
  • 全量 unit + integration 测试通过
  • go vet 干净

检查清单

  • 新增 CLI 测试已写
  • make test-all 全量通过
  • go build ./cmd/akswitch/ 编译通过
  • 在正确的功能分支

日志显示从"代理调试视角"改为"用户使用视角":
- 默认格式: [HH:MM:SS.mmm] status (provider, key: name, 1234ms)
  method/URL/retry=0 默认隐藏
- --verbose 标志恢复完整格式: [HH:MM:SS.mmm] provider METHOD url -> ...
- 提取 formatLogLine 纯函数便于测试,覆盖 8 种场景
- 新增 --verbose 标志注册测试

不修改 LogEntry 结构体、/logs API 或 LogStore,存储层完全不变。
向后兼容:--verbose 标志可选,默认行为改变无需调用方调整。
@bigmanBass666
bigmanBass666 marked this pull request as ready for review July 15, 2026 14:45
@bigmanBass666
bigmanBass666 merged commit 09c7e1e into main Jul 15, 2026
4 checks passed
@bigmanBass666
bigmanBass666 deleted the feature/cli-logs-user-view branch July 15, 2026 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant