如何在Xcode控制台中隐藏os_log时间戳前缀?

20

当我将我的信息记录方式从print更改为os_log时,它确实为每条消息提供了非常详细的时间戳。但有时我不需要长时间戳信息占用屏幕空间。

如何隐藏/重新格式化Xcode的控制台或配置OSLog以暂时不显示时间戳?还是应该使用print?

这是我的记录器使用方法

let logger = OSLog(subsystem: "com.my.myapp", category: "MediaObj")
os_log(.debug, log: logger, "....my...message...")

在此输入图片描述


6
NSLogOSLog是不同的API。这不是重复内容。 - undefined
这个有没有任何更新? - undefined
3
我做了一个变通方法,通过添加一个控制标志来决定:1)在调试模式下使用print将内容打印到输出窗口,不带时间戳;2)在发布模式下使用os_log(.default, ...)将内容打印到控制台,并附带完整的时间戳。 - undefined
1个回答

0
当您使用Logger结构来记录日志时,您可以根据需要随时打开或关闭时间戳(以及其他信息)。
苹果有很多关于如何使用Logger的好文档在这里
您可以使用Logger结构来记录日志。当您使用Logger记录日志时,您可以过滤日志和其他酷炫的功能。您的日志将不带时间戳打印(尽管如果您希望,可以随时打开它们)。您可以像这样使用它:
import os

let logger = Logger(subsystem: "com.my.myapp", category: "MediaObj")
logger.info("....my...message...")

问题明确要求如何删除时间戳。您的回答没有试图描述如何做到这一点。 - undefined
@HangarRash 使用Logger可以让您在控制台中切换时间戳和其他数据。API的其余部分都在我添加的链接中描述。 - undefined
为了让你的回答更有帮助,它应该展示如何解决问题。目前你的回答并没有展示如何关闭时间戳。更新你的回答,展示如何操作,这样你的回答就会很好。 - undefined
@HangarRash 答案没有打印时间戳。如果需要的话,我可以添加一张截图。 - undefined
当然,添加一张截图会有所帮助。但更重要的是,你的回答至少应该提到使用你发布的代码会导致没有时间戳的日志消息。从你的回答中并不清楚它会导致没有时间戳。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接