我正在尝试通过统一日志(os_log)从我的应用程序中获取一些日志记录。
下面是日志的初始化:
var osLog : OSLog = OSLog(subsystem: "com.test.testapp", category: "native-tester")我就是这样用的:
os_log("iOS App initialized successfully!", log: osLog, type:.info)在正常调试应用程序时,日志正确地显示在控制台输出上,但是当我查看设备控制台(显示在“设备和模拟器”窗口中)时,我根本看不到它们。
这篇文章说,您应该配置系统以启用调试日志。
sudo log config --mode "level:debug" --subsystem com.test.testapp但这似乎没什么区别。我猜这是因为我正在配置mac来查看日志,而不是iPad。
如何在设备控制台中查看来自os_log的ipad / iphone日志?
发布于 2018-01-12 15:52:37
“设备和模拟器”窗口仅显示崩溃报告。通过log --stream命令使用控制台应用程序或终端查看实时日志输出。
若要通过控制台应用程序查看设备的实时日志消息,无论是从Xcode运行还是从设备直接运行时:
.debug级别的消息,也要确保选择Include消息。(如果没有选择这些项,控制台只显示.default、.fault和.error级别的消息。)如果您仍未看到消息,请尝试输入以下终端命令来配置应用程序的日志记录级别:
sudo log config --subsystem com.test.testapp --mode level:debug这将打开子系统“.debug”(包括.info和.default消息)的-level日志记录。
如果您想要持久化消息,而不是只保留内存,请同时为这三个级别打开持久性,如下所示:
sudo log config --subsystem com.test.testapp --mode level:debug,persist:debug但是,不管日志设置如何,只有崩溃报告会出现在“设备和模拟器”窗口中。
发布于 2019-01-23 14:48:07
另一个陷阱是:如果您在计划中将OS_ACTIVITY_MODE设置为disable,那么您将不会在控制台中看到应用程序的任何日志。
你必须删除或取消这个论点。
发布于 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/
https://stackoverflow.com/questions/46660112
复制相似问题