首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在设备控制台中查看os_log消息

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

Stack Overflow用户
提问于 2017-10-10 06:38:53
回答 6查看 14.6K关注 0票数 24

我正在尝试通过统一日志(os_log)从我的应用程序中获取一些日志记录。

下面是日志的初始化:

代码语言:javascript
复制
var osLog : OSLog = OSLog(subsystem: "com.test.testapp", category: "native-tester")

我就是这样用的:

代码语言:javascript
复制
os_log("iOS App initialized successfully!", log: osLog, type:.info)

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

这篇文章说,您应该配置系统以启用调试日志。

代码语言:javascript
复制
sudo log config --mode "level:debug" --subsystem com.test.testapp

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

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

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-01-12 15:52:37

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

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

  • 打开Console.app.
  • 单击左侧面板中“设备”下的设备名称。
  • 选择Action,然后从菜单中包含Info Messages。如果您也在使用.debug级别的消息,也要确保选择Include消息。(如果没有选择这些项,控制台只显示.default.fault.error级别的消息。)

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

代码语言:javascript
复制
sudo log config --subsystem com.test.testapp --mode level:debug

这将打开子系统“.debug”(包括.info.default消息)的-level日志记录。

如果您想要持久化消息,而不是只保留内存,请同时为这三个级别打开持久性,如下所示:

代码语言:javascript
复制
sudo log config --subsystem com.test.testapp --mode level:debug,persist:debug

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

票数 42
EN

Stack Overflow用户

发布于 2019-01-23 14:48:07

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

你必须删除或取消这个论点。

票数 19
EN

Stack Overflow用户

发布于 2017-10-10 09:28:36

默认情况下,日志类型.debug.info仅为内存(未保存在磁盘上),因此它在设备控制台上不可见。

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

这里还有一个很不错的WWDC:https://developer.apple.com/videos/play/wwdc2016/721/

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46660112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档