我有一个使用 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
类型的消息在控制台应用程序中可见。使用终端,使用此命令,所有消息类型都在终端输出中可见:
`sudo log stream --level debug`
我尝试以 root 用户身份通过命令行中的 sudo 运行控制台应用程序,但出现了同样的问题;看不到任何调试或信息消息,即使它们已设置为在“操作”菜单下打开。
将系统范围的日志记录设置为调试,对控制台应用程序输出没有影响:
sudo log config --mode level:debug
我缺少什么以及如何在控制台应用程序中查看调试和信息消息?
最佳答案
Apple 在他们的开发者论坛上回应并确认他们在 10.12.5 上重复了这个问题,所以这是操作系统中的一个错误。
为即将发布的 10.13 开发者预览版填写了错误报告,并已在 10.13 version3 (17A306f) 中修复
关于xcode - 从控制台应用程序查看信息和调试日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45167570/