为什么推荐你使用 Xcode 15 的结构化打印?

前言

在日常的开发中,我们需要在 Xcode 控制台打印大量的日志用于调试,这些日志慢慢积累的多了之后可能会变得不堪重负,慢慢的甚至会恶化到不可用的状态。

在 Xcode 15 中,Apple 的开发人员尝试解决这个问题,在 Xcode 的控制台终于支持过滤功能了,今天来讲讲这个新功能。

Logger 类型

日志记录的 API 在 iOS 14 中引入了 Logger 类型,它可以很方便的记录 log,下面是如何使用 Logger 类型的示例:

css 复制代码
let logger = Logger(subsystem: "my_system", category: "my_category")
logger.log("这是一个 Log 信息")
logger.info("这是一个 info 信息")
logger.warning("这是一个 warning 信息")
logger.debug("这是一个 Debug 信息")
logger.error("这是一个 Error 信息")
logger.fault("这是一个 fault 信息")

在控制台看到的效果:

一些高级用法

1. 查看 log 详细信息

在控制台中,如果我们想检查单个日志行,那么我们可以单击这一行日志并按空格键,这将打开一个新的信息窗口,窗口中会展示跟这个日志相关的详细信息:

这里可以看到这条日志的类型、时间、Subsystem、Category 以及调用方法等等。

2. 直接在 log 中显示详细信息

如果觉得每次点击 + 空格比较麻烦,还可以在下边的 MetaData Options 按钮中打开要显示的信息:

然后就可以在每条日志上看到对应的信息了:

3. 快捷跳转 log 所在的源代码中

把鼠标在某条日志上停留一下,就会在这条日志的右下角出现一个提示,标记这个 log 是在哪个文件的哪一行打印的,点击右侧的箭头可直接跳转到对应的代码中:

4. 日志过滤

在控制台的右下角有个 filter 的输入框,可以在这个输入框中进行日志的过滤,比如我只想看 my_category 这个类型的日志,那么就可以在输入框中输入 my_category 根据提示来增加过滤:

可过滤的条件有很多,可以点击左侧的按钮查看:

继续在输入框中输入,还可以增加其他的过滤条件:

这个功能可以说非常强大,而且非常方便了,如果你已经升级了 Xcode 15,强烈推荐你的项目在开发时使用起来。

这里每天分享一个 iOS 的新知识,快来关注我吧

本文同步自微信公众号 "iOS新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
Winson℡18 小时前
在 React Native 层禁止 iOS 左滑返回(手势返回/手势退出)
react native·react.js·ios
Digitally1 天前
如何轻松地将联系人从 Mac 同步到 iPhone
macos·ios·iphone
2501_915909061 天前
uni-app iOS 上架常见问题与解决方案,实战经验全解析
android·ios·小程序·https·uni-app·iphone·webview
他们都不看好你,偏偏你最不争气1 天前
【iOS】对象复制与属性关键字
macos·ios·objective-c·cocoa·面向对象
如此风景1 天前
Swift异步详解
swift
HarderCoder1 天前
强制 SwiftUI 重新渲染:`.id()` 这把“重启键”你用对了吗?
swift
HarderCoder1 天前
Swift 6.2 新语法糖:在字符串插值里直接给 Optional 写默认值
swift
在下历飞雨1 天前
AI+Kuikly自研DSL初体验:让UI开发更简洁优雅
ios·vibecoding
zzywxc7871 天前
深入探讨AI三大领域的核心技术、实践方法以及未来发展趋势,结合具体代码示例、流程图和Prompt工程实践,全面展示AI编程的强大能力。
人工智能·spring·机器学习·ios·prompt·流程图·ai编程
HarderCoder1 天前
窥探 `@Observable` 的“小黑盒”:private 属性到底会不会被观察?
swift