我正试图通过统一记录(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日志?
“设备和模拟器”窗口仅显示崩溃报告。使用控制台应用程序或终端,通过log --stream
命令查看实时日志输出。
要通过Console应用程序查看设备的实时日志消息,无论是从Xcode运行还是直接从设备运行:
.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
但是,无论任何日志设置如何,只有崩溃报告才会出现在“设备和模拟器”窗口中。
日志类型.debug和.info默认只是内存(不保存在磁盘上),因此在设备控制台上不可见。
详细信息:https://developer.apple.com/documentation/os/logging?language=objc
这里也是非常好的WWDC:https://developer.apple.com/videos/play/wwdc2016/721/
另一个陷阱:如果你在你的方案中将OS_ACTIVITY_MODE
设置为disable
,那么你将不会在控制台中看到你的应用程序的任何日志。
您必须删除或取消选中该参数。
将应用程序发布到应用程序商店后,我的os_log丢失了。我想当我构建应用程序以进行发布时,调试选项已关闭。
要启用回退...转到产品>方案>编辑方案>运行调试...然后检查调试可执行文件。