gpt4 book ai didi

ios - 苹果统一日志记录——如何获取文件名和行号

转载 作者:可可西里 更新时间:2023-11-01 05:39:37 27 4
gpt4 key购买 nike

Apple 的 Unified Logging documentation状态:

Don’t include symbolication information or source file line numbers in messages. The system automatically captures this information.

但在控制台中我没有看到文件名、类名、函数名或行号。

我怎样才能在我的日志中包含这些内容?

最佳答案

事实上,即使是 macOS Catalina beta(内部版本 19A501i)也不会在 Console.app 中显示源代码行。

但是,log 命令行工具会显示模拟设备的源信息(macOS 10.14 及更高版本)。

以下命令将显示当前在模拟器中启动(运行)的所有模拟设备的日志信息。如果当前没有模拟设备正在运行,则该命令将失败。

xcrun simctl spawn 启动日志流 --level debug --color always --source

您可以通过在 os_log 调用中使用子系统并将谓词应用于流式记录数据来过滤掉所有不是来自您的程序的内容。例如,如果您的子系统是 com.subsystem.my,您可以使用

xcrun simctl spawn 启动日志流 --level debug --color always --predicate '(subsystem BEGINSWITH "com.subsystem.my")' --source

源码信息会显示在TTL栏之后。

如果您没有设置子系统,您还可以按进程(即目标名称)进行过滤

xcrun simctl spawn 启动日志流 --level debug --color always --predicate '(process == "MyProcess")' --source

但是,这通常会导致日志消息过多,因为其他框架记录的信息也将包括在内。

此外,您可以使用实际模拟设备的名称来代替 booted(仅从该设备流式传输日志数据)。

关于ios - 苹果统一日志记录——如何获取文件名和行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52366951/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com