前言

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

在 Xcode 15 中,Apple 的开发人员尝试处理这个问题,在 Xcode 的控制台总算支持过滤功能了,今日来讲讲这个新功能。

Logger 类型

日志记载的 API 在 iOS 14 中引入了 Logger 类型,它能够很方便的记载 log,下面是如何运用 Logger 类型的示例:

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 信息")

在控制台看到的效果:

为什么引荐你运用 Xcode 15 的结构化打印?

一些高档用法

1. 检查 log 详细信息

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

为什么引荐你运用 Xcode 15 的结构化打印?

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

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

假如觉得每次点击 + 空格比较费事,还能够在下边的 MetaData Options 按钮中打开要显现的信息:

为什么引荐你运用 Xcode 15 的结构化打印?

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

为什么引荐你运用 Xcode 15 的结构化打印?

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

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

为什么引荐你运用 Xcode 15 的结构化打印?

4. 日志过滤

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

为什么引荐你运用 Xcode 15 的结构化打印?

可过滤的条件有很多,能够点击左边的按钮检查:

为什么引荐你运用 Xcode 15 的结构化打印?

继续在输入框中输入,还能够添加其他的过滤条件:

为什么引荐你运用 Xcode 15 的结构化打印?

这个功能能够说十分强大,并且十分方便了,假如你现已晋级了 Xcode 15,强烈引荐你的项目在开发时运用起来。

这儿每天共享一个 iOS 的新知识,快来重视我吧

本文同步自微信公众号 “iOS新知”,每天准时共享一个新知识,这儿只是同步,想要及时学到就来重视我吧!