xcode - 从控制台应用程序查看信息和调试日志

标签 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 类型的消息在控制台应用程序中可见。使用终端,使用此命令,所有消息类型都在终端输出中可见:

`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/

相关文章:

ios - XCode 4.3.1 iPad模拟器

linux - Sed 命令适用于 Linux,但不适用于 OS X

macos - Click at Mavericks 坏了吗?

c# - 帮助调试 - Application_Start 何时在 global.asax 文件中运行?

r - 调试 Roxygen 2 文档

iphone - 适用于 iPhone/iPad 的柏林噪音?

iphone - 如何捕获在 iOS 调试器中按下的 "Stop"按钮?

ios - 列数返回零

objective-c - 从桌面加载 NSImage 在 cocoa 应用程序中为零

c - 代码有问题或者我的 IDE/comp 有问题吗?