Swift 宏中的 OSLog 不会保留原始文件/行号

Ort*_*ntz 5 xcode logging swift oslog swift-macro

我需要并行登录OSLog和登录文件(由于OSLogStore无法提供旧日志)。

\n

在 Objective-C 中,我可以通过在宏实现中使用__FILE__和 来完成此__LINE__操作,该宏仍然引用原始代码中的位置。 \n我尝试创建一个 Swift 宏来从 Swift 进行这项工作。但是,log()采用宏定义文件的文件和行号,而不是调用代码中的位置。因此,当我单击元数据链接时,我将转到宏而不是调用位置。

\n

有什么解决办法吗?#file#line在宏中正确设置,但 \xe2\x80\x99s 无法为函数指定文件和行号log()

\n

小智 -1

我遇到了类似的问题,通过OSLogStore偶尔将内容转储到文件中来解决它。