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

Ios 仅在设备控制台中显示崩溃日志,ios,swift,xcode,nslog,Ios,Swift,Xcode,Nslog,使用Xcode 12和NSLog记录我的消息。当我打开“窗口->设备和模拟器”并在iPhone上查看我的应用程序的日志文件时,我只看到崩溃日志(我和其他人的应用程序的崩溃日志)。有没有办法只查看我的常规日志消息?控制台中显示NSLog输出,没有问题。谢谢……(Swift 5.3、Xcode 12、iOS 14-无需第三方服务或库) 简言之:您可以将NSLog调用替换为对Logger的调用 您需要创建一个Logger对象(在某个地方,您的首选项)。如果您愿意,您可以通过为应用程序中的不同部分/功

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

(Swift 5.3、Xcode 12、iOS 14-无需第三方服务或库)

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


您需要创建一个
Logger
对象(在某个地方,您的首选项)。如果您愿意,您可以通过为应用程序中的不同部分/功能制作各种记录器,使日志记录更易于过滤,例如在控制台应用程序中

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))")

注意:我们的秘密通过应用
.private(掩码:.hash)
来保密

要查看和筛选日志,请在设备屏幕上的查看设备日志下方找到Open Console

正如文章来源所述:

“如果您想从设备收集日志,即使您的应用程序不可用 如果继续运行,您可以在Mac电脑上使用带有
收集
选项 … 然后可以在控制台应用程序中打开您获得的
logarchive
文件,并像实时日志一样进行过滤。”

sudo日志收集--设备--启动“2020-06-25 16:10:00”--输出myapp.logarchive



(信用证:)

NSLog将写入控制台,如果它可以找到控制台(在调试模式下),当它在发布模式下找不到控制台时,它将不会写入控制台,如果您打算为调试目的写入一些日志,您无法通过简单的
NSLog
实现这一点,您可以使用第三方服务。如果您正在跟踪一些东西,您可以使用Newrelic、firebase和许多其他可用工具,如果您想编写自定义文本以便分析崩溃,您可以尝试fabric,不确定您正在解决的问题的复杂性我遇到了一个崩溃,当时应用程序不是由Xcode启动的,但在Xcode中启动时,一切都很好(我能够在Xcode的控制台中看到NSLog输出)。所以,我认为在设备的日志中看到NSLog会很有用。。。