feat: 累积功能变更 — 聊天集成、租户管理、小程序更新、ETL 增强、迁移脚本
包含多个会话的累积代码变更: - backend: AI 聊天服务、触发器调度、认证增强、WebSocket、调度器最小间隔 - admin-web: ETL 状态页、任务管理、调度配置、登录优化 - miniprogram: 看板页面、聊天集成、UI 组件、导航更新 - etl: DWS 新任务(finance_area_daily/board_cache)、连接器增强 - tenant-admin: 项目初始化 - db: 19 个迁移脚本(etl_feiqiu 11 + zqyy_app 8) - packages/shared: 枚举和工具函数更新 - tools: 数据库工具、报表生成、健康检查 - docs: PRD/架构/部署/合约文档更新 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Export 输出路径规范
|
||||
|
||||
> 最后更新:2026-02-19
|
||||
> 最后更新:2026-03-23
|
||||
> 本文档描述 `export/` 目录的统一结构、各子目录用途、对应的 `.env` 变量、以及代码中的读取方式。
|
||||
|
||||
---
|
||||
@@ -21,8 +21,12 @@ export/
|
||||
│ │ └── full_dataflow_doc/ — 全链路数据流文档(Markdown)
|
||||
│ └── CACHE/
|
||||
│ └── api_samples/ — API 样本缓存(24h 有效,gen_full_dataflow_doc 使用)
|
||||
└── BACKEND/
|
||||
└── LOGS/ — 后端结构化日志(预留,待 5.3 后端日志改造后启用)
|
||||
├── BACKEND/
|
||||
│ ├── LOGS/ — 后端结构化日志(预留,待 5.3 后端日志改造后启用)
|
||||
│ └── avatars/ — 用户头像文件({user_id}.jpg,覆盖式保存)
|
||||
└── dev-trace-logs/ — 开发调试全链路日志(DevTrace 模块)
|
||||
└── YYYY-MM-DD/ — 按日期分子目录
|
||||
└── trace_YYYY-MM-DD_HH.jsonl — 按小时分文件(JSON Lines)
|
||||
```
|
||||
|
||||
> 服务器部署时不保留 `export/`(通过 `setup-server-git.py` 排除),仅开发机留存。
|
||||
@@ -44,6 +48,8 @@ export/
|
||||
| `API_SAMPLE_CACHE_ROOT` | `C:/NeoZQYY/export/SYSTEM/CACHE/api_samples` | `SYSTEM/CACHE/api_samples/` | API 样本缓存 |
|
||||
| `SYSTEM_LOG_ROOT` | `C:/NeoZQYY/export/SYSTEM/LOGS` | `SYSTEM/LOGS/` | 系统级运维日志 |
|
||||
| `BACKEND_LOG_ROOT` | `C:/NeoZQYY/export/BACKEND/LOGS` | `BACKEND/LOGS/` | 后端结构化日志 |
|
||||
| `DEV_TRACE_LOG_DIR` | `export/dev-trace-logs` | `dev-trace-logs/` | 开发调试全链路日志(DevTrace 模块) |
|
||||
| `AVATAR_EXPORT_PATH` | `C:/NeoZQYY/export/BACKEND/avatars` | `BACKEND/avatars/` | 用户头像文件存储目录 |
|
||||
|
||||
|
||||
---
|
||||
@@ -229,6 +235,51 @@ export/SYSTEM/REPORTS/dataflow_analysis/
|
||||
|
||||
---
|
||||
|
||||
### 10. dev-trace-logs — 开发调试全链路日志
|
||||
|
||||
环境变量:`DEV_TRACE_LOG_DIR`
|
||||
|
||||
默认值:`export/dev-trace-logs`(相对于项目根目录)
|
||||
|
||||
用途:
|
||||
- DevTrace 模块的全链路请求追踪日志输出目录
|
||||
- 覆盖 HTTP 请求、SSE 流式响应、WebSocket 连接、后台 Job、异常/错误、数据库连接生命周期、中间件层
|
||||
- 仅用于开发调试,不影响生产环境
|
||||
|
||||
目录结构:
|
||||
```
|
||||
export/dev-trace-logs/
|
||||
├── _index.json — 索引文件(文件列表、记录数、文件大小)
|
||||
├── 2026-03-23/ — 按日期分子目录
|
||||
│ ├── trace_2026-03-23_08.jsonl — 按小时分文件(JSON Lines 格式)
|
||||
│ ├── trace_2026-03-23_09.jsonl
|
||||
│ ├── trace_2026-03-23_09_001.jsonl — 单文件超 10MB 自动轮转
|
||||
│ └── ...
|
||||
└── 2026-03-22/
|
||||
└── ...
|
||||
```
|
||||
|
||||
自动清理:
|
||||
- 由 `DEV_TRACE_LOG_RETENTION_DAYS` 环境变量控制保留天数(默认 7 天)
|
||||
- 每日凌晨自动检查并删除超期日期目录
|
||||
- 也可通过 `POST /api/admin/dev-trace/cleanup` 手动按日期范围清理
|
||||
|
||||
相关环境变量:
|
||||
| 变量 | 默认值 | 说明 |
|
||||
|------|--------|------|
|
||||
| `DEV_TRACE_ENABLED` | `true` | 总开关,关闭后不采集任何 trace |
|
||||
| `DEV_TRACE_LOG_DIR` | `export/dev-trace-logs` | 日志输出目录 |
|
||||
| `DEV_TRACE_LOG_RETENTION_DAYS` | `7` | 自动清理保留天数 |
|
||||
| `DEV_TRACE_LOG_SQL` | `true` | 是否记录完整 SQL 语句 |
|
||||
| `DEV_TRACE_LOG_PARAMS` | `true` | 是否记录函数参数值 |
|
||||
|
||||
代码使用:
|
||||
- `apps/backend/app/trace/config.py` 的 `TraceConfig` 类读取上述环境变量
|
||||
- `apps/backend/app/trace/writer.py` 的 `TraceWriter` 负责写入 `.jsonl` 文件
|
||||
- `apps/backend/app/trace/cleanup.py` 负责自动清理过期目录
|
||||
|
||||
---
|
||||
|
||||
## 配置优先级
|
||||
|
||||
所有路径变量遵循项目统一的配置优先级:
|
||||
@@ -257,6 +308,8 @@ ETL 模块的路径变量通过 `env_parser.py` 的 `ENV_MAP` 映射到 `AppConf
|
||||
| api_samples | `API_SAMPLE_CACHE_ROOT` | ✅ | `gen_full_dataflow_doc.py` 已适配 |
|
||||
| SYSTEM LOGS | `SYSTEM_LOG_ROOT` | — | 预留 |
|
||||
| BACKEND LOGS | `BACKEND_LOG_ROOT` | — | 预留 |
|
||||
| dev-trace-logs | `DEV_TRACE_LOG_DIR` | ✅ | `app/trace/config.py` → `TraceConfig`,`app/trace/writer.py` 写入 |
|
||||
| BACKEND avatars | `AVATAR_EXPORT_PATH` | ✅ | `app/config.py` → `AVATAR_EXPORT_PATH`,`xcx_avatar.py` 读写 |
|
||||
|
||||
---
|
||||
|
||||
@@ -270,6 +323,7 @@ FETCH_ROOT=C:/NeoZQYY/export/ETL-Connectors/feiqiu/JSON
|
||||
ETL_REPORT_ROOT=C:/NeoZQYY/export/ETL-Connectors/feiqiu/REPORTS
|
||||
SYSTEM_ANALYZE_ROOT=C:/NeoZQYY/export/SYSTEM/REPORTS/dataflow_analysis
|
||||
BACKEND_LOG_ROOT=C:/NeoZQYY/export/BACKEND/LOGS
|
||||
AVATAR_EXPORT_PATH=C:/NeoZQYY/export/BACKEND/avatars
|
||||
```
|
||||
|
||||
服务器测试环境(`D:\NeoZQYY\test\repo\.env`):
|
||||
|
||||
Reference in New Issue
Block a user