在设备控制台中查看os_log消息

问题描述 投票:14回答:4

我正试图通过统一记录(os_log)从我的应用程序中退出一些

这是日志的初始化:

var osLog : OSLog = OSLog(subsystem: "com.test.testapp", category: "native-tester")

以下是我如何使用它:

os_log("iOS App initialized successfully!", log: osLog, type:.info)

正常调试应用程序时,日志会在控制台输出上正确显示,但是当我查看设备控制台时(在“设备和模拟器”窗口中显示),我根本看不到它们。

This article说你应该配置系统以使用调试日志

sudo log config --mode "level:debug" --subsystem com.test.testapp

但这似乎并没有什么不同。我猜这是因为我正在配置mac来查看日志,而不是iPad。

如何在设备控制台中查看os_log中的ipad / iphone日志?

ios swift iphone xcode logging
4个回答
20
投票

“设备和模拟器”窗口仅显示崩溃报告。使用控制台应用程序或终端,通过log --stream命令查看实时日志输出。

要通过Console应用程序查看设备的实时日志消息,无论是从Xcode运行还是直接从设备运行:

  • 打开Console.app。
  • 单击左侧面板中“设备”下的设备名称。
  • 选择“操作”,然后从菜单中选择“包含信息消息”。如果您还使用.debug级别消息,请确保也选择包括调试消息。 (如果未选择这些项目,控制台仅显示.default.fault.error级别消息。)

如果仍然没有看到消息,请尝试输入此终端命令以配置应用程序的日志记录级别:

sudo log config --subsystem com.test.testapp --mode level:debug

这将打开子系统“com.test.testapp”(包括.debug.info消息)的.default级别日志记录。

如果要保留消息而不是默认的仅内存,请同时打开三个级别的持久性,如下所示:

sudo log config --subsystem com.test.testapp --mode level:debug,persist:debug

但是,无论任何日志设置如何,只有崩溃报告才会出现在“设备和模拟器”窗口中。


5
投票

日志类型.debug和.info默认只是内存(不保存在磁盘上),因此在设备控制台上不可见。

详细信息:https://developer.apple.com/documentation/os/logging?language=objc

这里也是非常好的WWDC:https://developer.apple.com/videos/play/wwdc2016/721/


5
投票

另一个陷阱:如果你在你的方案中将OS_ACTIVITY_MODE设置为disable,那么你将不会在控制台中看到你的应用程序的任何日志。

您必须删除或取消选中该参数。


-1
投票

将应用程序发布到应用程序商店后,我的os_log丢失了。我想当我构建应用程序以进行发布时,调试选项已关闭。

要启用回退...转到产品>方案>编辑方案>运行调试...然后检查调试可执行文件。

© www.soinside.com 2019 - 2024. All rights reserved.