gpt4 book ai didi

xcode - 在 Xcode 中,有没有办法在调用 NSLog 时禁用调试器控制台中显示的时间戳?

转载 作者:行者123 更新时间:2023-12-03 01:23:00 26 4
gpt4 key购买 nike

Xcode 的调试器控制台可以轻松查看我的应用程序使用 NSLog() 发出的任何调试消息,但它始终在其上粘贴时间戳前缀:

2009-08-30 04:54:48.128 MyApp[94652:a0f] some log message
2009-08-30 04:54:50.647 MyApp[94652:a0f] another log message
...

这个前缀我没有用,而且占用了很多空间。我有一种感觉,它被硬编码到苹果的日志系统中,但以防万一有解决方案:

我可以让调试器控制台显示时间戳前缀的日志消息吗?

像这样的东西就完美了:

some log message
another log message
...

最佳答案

NSLog() 正在执行此操作,而不是调试器控制台。

避免这种情况的最简单方法是根本不使用 NSLog。您可以使用 fprintf(),但这很痛苦,因为它不支持 %@ 格式类型。

我通常为此编写一个函数:

void MyLog(NSString *format, ...) {
va_list args;
va_start(args, format);
NSString *formattedString = [[NSString alloc] initWithFormat: format
arguments: args];
va_end(args);
[[NSFileHandle fileHandleWithStandardOutput]
writeData: [formattedString dataUsingEncoding: NSNEXTSTEPStringEncoding]];

}

显然,修改它以添加换行符或使用更短的前缀等...

(修复了杂散的 ctrl-b)

关于xcode - 在 Xcode 中,有没有办法在调用 NSLog 时禁用调试器控制台中显示的时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1354728/

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