ObjectId 转换日志配置说明
📋 默认行为
v1.1.1 默认完全静默 - 不输出任何 ObjectId 转换日志 ✅
🎯 为什么默认静默?
- 日志无实际作用:ObjectId 转换是自动的,用户无需关心
- 避免日志污染:大量数据时会产生过多日志
- 生产环境友好:减少日志存储和性能开销
- 透明转换:用户无感知,自动处理兼容性问题
🔧 配置选项
如果您需要调试或了解转换详情,可以启用日志:
选项 1:启用摘要日志(推荐用于调试)
每次操作只输出一条摘要:
选项 2:启用详细日志(仅用于深度调试)
输出每个 ObjectId 的转换详情:
📊 配置对比
💡 完整配置示例
最简配置(推荐)
调试配置(临时启用)
完整配置(所有选项)
🎯 使用建议
生产环境
开发环境(日常)
调试场景
❓ 常见问题
Q: 完全不输出日志,会不会有问题?
A: 不会。ObjectId 转换是自动的、透明的、安全的。如果有问题,会在实际操作(如 insertOne)时抛出异常。
Q: 如何知道有没有发生转换?
A: 正常情况下您不需要知道。如果确实需要,可以临时设置 silent: false 查看。
Q: 转换失败会怎样?
A: 转换失败会输出 WARN 日志(不受 silent 控制),并返回原值,不会中断流程。
Q: 能否只在转换失败时输出日志?
A: 可以。默认配置已经实现了这一点:
silent: true:不输出成功转换的日志- 转换失败:总是输出 WARN 日志(不受 silent 控制)
📝 总结
- ✅ 默认完全静默:不输出任何成功转换的日志
- ✅ 失败必定提示:转换失败总是输出 WARN
- ✅ 可按需启用:调试时可以临时启用日志
- ✅ 生产友好:减少日志量,提升性能
更新版本: v1.1.1
更新日期: 2026-01-27