设备控制台中仅显示崩溃日志

Only Crash logs showing in Device Console

使用 Xcode 12 和 NSLog 来记录我的消息。当我打开“Window -> 设备和模拟器”并在我的 iPhone 上查看我的应用程序的日志文件时,我只看到崩溃日志(我和其他人的应用程序的崩溃日志)。有没有办法只查看我的常规日志记录消息? NSLog 输出显示在控制台中,没问题。谢谢....

(Swift 5.3, Xcode 12, iOS 14 — 不需要第三方服务或库)

简而言之:您可以将 NSLog 调用替换为对 Logger.

的调用

您需要创建一个 Logger 对象(在某处,您的偏好)。如果需要,您可以使日志记录更易于过滤,例如在控制台应用程序中,通过为应用程序中的不同 parts/functions 创建各种记录器。

import os.log

let downloadLogger = Logger(subsystem: "My app", category: "Downloading")
let somethingLogger = Logger(subsystem: "My app", category: "Lorem ipsum")

然后你这样调用你的记录器:

// Some error occurs, so we log it:
downloadLogger.error("Error downloading feed contents: \(error, privacy: .public)")

// Some less important log:
somethingLogger.info("Secret has been stored: \(mySecret, privacy: .private(mask: .hash))")

N.B。我们的秘密通过应用 .private(mask: .hash).

保密

要查看和过滤您的日志,请在设备 屏幕上的查看设备日志 下方找到打开控制台.

正如文章来源所述:

"If you’d like to gather logs from a device, even when your app is not running anymore, you can use the log command on your Mac with the collect option … The logarchive file that you get can then be opened in the Console app and filtered just like live logs can."

sudo log collect --device --start "2020-06-25 16:10:00" --output myapp.logarchive


(致谢:source