当我使用NSLog时,得到的输出类似于以下内容:
2012-01-24 17:05:32:860 App [21856:71939] {此处记录日志}
我认识到'2012-01-24 17:05:32:860'是日期,'App'是应用程序名称,但是我不知道'[21856:71939]'是什么意思。有人可以告诉我这是什么以及在哪里产生的吗?
我要尝试做的就是很好地记录日志,以便于阅读,但是'[21856:71939]'的数字变化足以混淆所有对齐尝试。如果我知道“[21856:71939]”中数字的生成方式,我可以根据需要添加空格以使其正确排列,但这是我目前唯一的想法。
任何帮助将非常感激 :)
最佳答案
进程ID为21856。 71939是线程ID。
您可以使用以下方法自行生成日志的这一部分:
[NSString stringWithFormat:@"[%ld,%lx]",
(long) getpid(),
(long) pthread_mach_thread_np(pthread_self())];
编辑2014-09-23:
至少在iOS 8的模拟器上,第二个数字现在是线程的
pthread_threadid_np
。 __uint64_t threadId;
if (pthread_threadid_np(0, &threadId)) {
threadId = pthread_mach_thread_np(pthread_self());
}
[NSString stringWithFormat:@"[%ld,%llu]", (long) getpid(), threadId]
关于objective-c - NSLog中的前缀是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8995650/