Skip to content

Commit 1abca17

Browse files
committed
fix:ObjectId 转换日志默认静默 + Saga 日志修复
1 parent 887d567 commit 1abca17

9 files changed

Lines changed: 1217 additions & 8 deletions

CHANGELOG.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
| 版本 | 日期 | 变更摘要 | 详细 |
1111
|------|------|---------|------|
12+
| [v1.1.2](#v112---日志优化) | 2026-01-27 | 🔧 优化:ObjectId 转换日志默认静默 + Saga 日志修复 | [查看](#v112---日志优化) |
1213
| [v1.1.1](#v111---objectid-跨版本兼容) | 2026-01-27 | 🔧 Bug修复:新增跨版本 ObjectId 兼容性(支持 mongoose bson@4.x/5.x)| [查看](#v111---objectid-跨版本兼容) |
1314
| [v1.1.0](./changelogs/v1.1.0.md) | 2026-01-21 | 🎉 重大更新:新增49个操作符,实现100% MongoDB操作符支持(122/122)| [查看](./changelogs/v1.1.0.md) |
1415
| [v1.0.9](./changelogs/v1.0.9.md) | 2026-01-19 | 🎉 重大功能:统一表达式系统 - 67个操作符 + 107个测试 (100%通过) | [查看](./changelogs/v1.0.9.md) |
@@ -34,6 +35,74 @@
3435

3536
## 里程碑版本
3637

38+
### v1.1.2 - 日志优化 🔧
39+
40+
**发布日期**: 2026-01-27
41+
**重要性**: ⭐⭐⭐
42+
43+
**优化内容**:
44+
45+
1. **ObjectId 转换日志默认静默**
46+
-**默认完全静默**: 不输出任何 ObjectId 转换日志
47+
-**用户反馈驱动**: 根据用户反馈,转换日志无实际作用
48+
-**可选启用**: 支持按需启用摘要或详细日志
49+
-**生产友好**: 减少日志量,避免日志污染
50+
51+
2. **Saga 日志修复**
52+
-**修复误导性日志**: 正确区分内存缓存和 Redis 缓存
53+
-**准确识别**: 通过检测 `cache.keys``cache.publish` 方法识别 Redis
54+
-**日志准确**: 内存缓存显示"使用内存缓存",Redis 显示"使用 Redis 存储"
55+
56+
**配置选项**:
57+
58+
```javascript
59+
// 默认配置(完全静默)
60+
const msq = new MonSQLize({
61+
type: 'mongodb',
62+
config: { uri: 'mongodb://localhost:27017' }
63+
});
64+
// ✅ 无任何 ObjectId 转换日志
65+
66+
// 启用摘要日志(调试用)
67+
const msq = new MonSQLize({
68+
type: 'mongodb',
69+
config: { uri: 'mongodb://localhost:27017' },
70+
autoConvertObjectId: {
71+
silent: false // 关闭静默
72+
}
73+
});
74+
// 输出:[DEBUG] Converted 15 cross-version ObjectIds
75+
76+
// 启用详细日志(深度调试)
77+
const msq = new MonSQLize({
78+
type: 'mongodb',
79+
config: { uri: 'mongodb://localhost:27017' },
80+
autoConvertObjectId: {
81+
silent: false,
82+
verbose: true
83+
}
84+
});
85+
// 输出:每个 ObjectId 都有一条日志
86+
```
87+
88+
**效果对比**:
89+
90+
| 模式 | silent | verbose | 日志输出 | 适用场景 |
91+
|------|--------|---------|---------|---------|
92+
| **静默模式**(默认)✅ | `true` | - || 生产环境、日常开发 |
93+
| **摘要模式** | `false` | `false` | 1条摘要 | 需要了解转换情况时 |
94+
| **详细模式** | `false` | `true` | N条详情 | 深度调试、排查问题 |
95+
96+
**修改的文件**:
97+
- `lib/utils/objectid-converter.js`: 添加 `silent` 配置,默认 `true`
98+
- `lib/saga/SagaOrchestrator.js`: 修复 Redis 识别逻辑
99+
100+
**详细文档**:
101+
- [ObjectId 日志配置](./docs/objectid-logging-optimization.md)
102+
- [FAQ - Q3: 如何关闭日志](./docs/objectid-cross-version-faq.md#q3)
103+
104+
---
105+
37106
### v1.1.1 - ObjectId 跨版本兼容 🔧
38107

39108
**发布日期**: 2026-01-27

0 commit comments

Comments
 (0)