使用统一日志记录,我得到每个日志条目的多个副本(准确地说是 23 个)。我想知道我可能做错了什么。
我正在使用 Swift 4.1、Xcode 9.4.1、控制台版本 1.0 (2.0.52) 并构建 iOS 11.0 应用程序。
相关代码如下:
import os.log
...
// property
let log = OSLog(subsystem: Constants.subsystem, category: Constants.category)
override func viewDidLoad() {
super.viewDidLoad()
os_log("Useless message...", log: log, type: .debug)
}
而且,在控制台中(仅显示消息列),我得到:
每个条目的Subsystem、Category、Time和Process值都是相同的。
而且,输出只在 Xcode 的控制台窗口中显示一次。
我现在做了什么傻事?(或者,这是一个错误?)
更新:我在日志语句设置了一个断点来测试。它只被点击一次,但一旦执行,23 个条目就会显示在控制台中。
更新 2:将 UUID 添加到日志以进行测试:相同的结果:所有 23 个条目中的 UUID 相同。
os_log("Useless message... %@", log: log, type: .debug, String(describing: UUID()))
更新 3:已修复...
清理了项目,删除了派生数据,删除了模拟器中的内容——所有这些我以前都做过多次。
不过,这一次,我也关闭了,然后重新启动了 Xcode——现在它工作正常了!奇怪!