嗨:)

我已经发布了自己的日志系统,但想知道大家对日志系统的普遍看法。

一个好的日志系统应该具备什么特性?

我的一个最小化的列表:

  • 一个可以直接替换 Unity Default Debug Log 的功能 - 我不需要在项目中重新写入已有的日志
  • 在字符串插值时无内存分配 - 使用 [InterpolatedStringHandler]
  • 在日志被禁用的情况下几乎没有检测和返回 - 这样就不会影响日志的实时输出
  • 日志输出字符串格式化 - Debug.Log("Start") 会输出像 [I][SceneLoader] LoadPreview - Start at line 154 这样一种格式
  • 在渲染日志字符串格式和发送日志到 Unity 内部日志处理器时零内存分配
  • 在运行时可以开启和禁用日志以不同的类或方法 - 不会对性能产生影响或者影响极小 - 能够调试不同子系统而不需要重建或者开启可疑系统的日志来让用户追踪 bug

还有什么吗?

你们使用的日志系统又是什么样的?