从控制台应用程序

时间:2017-07-18 13:00:43

标签: xcode macos debugging logging

我有一个使用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 MessagesInclude Debug Messages都已启用。

enter image description here

调用os_log时,控制台应用程序中只显示error类型的消息。使用terminal,使用此命令,所有消息类型都在终端输出中可见:

`sudo log stream --level debug`

我尝试以root身份运行Console应用程序,通过sudo从命令行运行并出现同样的问题;即使它们已设置为在“操作”菜单下打开,也无法看到调试或信息消息。

将系统范围的日志记录设置为debug,对Console应用程序输出没有影响:

sudo log config --mode level:debug

我缺少什么,如何在控制台应用程序中查看调试和信息消息?

1 个答案:

答案 0 :(得分:4)

Apple在他们的开发者论坛上回复并确认他们在10.12.5上重复了这个问题,所以这是操作系统中的一个错误。

为即将到来的10.13开发者预览版填写了一份错误报告,已在10.13版本3(17A306f)中修复