我有一个使用Apple的统一记录的Swift 3 Cocoa应用程序,如下所示:
import os
class MyClass
{
@available(OSX 10.12, *)
static let scribe = OSLog(subsystem: "com.mycompany.myapp", category: "myapp")
func SomeFunction(){
if #available(OSX 10.12, *){
os_log("Test Error Message", log: MyClass.scribe, type: .error)
}
if #available(OSX 10.12, *){
os_log("Test Info Message", log: MyClass.scribe, type: .info)
}
if #available(OSX 10.12, *){
os_log("Test Debug Message", log: MyClass.scribe, type: .debug)
}
}
}
在控制台应用程序中,Include Info Messages
和Include Debug Messages
都已启用。
调用os_log
时,控制台应用程序中只显示error
类型的消息。使用terminal,使用此命令,所有消息类型都在终端输出中可见:
`sudo log stream --level debug`
我尝试以root身份运行Console应用程序,通过sudo从命令行运行并出现同样的问题;即使它们已设置为在“操作”菜单下打开,也无法看到调试或信息消息。
将系统范围的日志记录设置为debug,对Console应用程序输出没有影响:
sudo log config --mode level:debug
我缺少什么,如何在控制台应用程序中查看调试和信息消息?
答案 0 :(得分:4)
Apple在他们的开发者论坛上回复并确认他们在10.12.5上重复了这个问题,所以这是操作系统中的一个错误。
为即将到来的10.13开发者预览版填写了一份错误报告,已在10.13版本3(17A306f)中修复