当我使用
时NSLog(@"fooBar")
它打印出了许多我不想要的东西:
2009-09-03 13:46:34.531 MyApp[3703:20b] fooBar
有没有办法在没有这个大前缀的情况下将某些内容打印到控制台? 我想在控制台中绘制一个表和其他一些东西,以便空间至关重要......
答案 0 :(得分:9)
这是来自borkware.com的Mark Dalrymple
http://borkware.com/quickies/single?id=261
更安静的NSLog(General-> Hacks)[永久链接]
// NSLog() writes out entirely too much stuff. Most of the time I'm
// not interested in the program name, process ID, and current time
// down to the subsecond level.
// This takes an NSString with printf-style format, and outputs it.
// regular old printf can't be used instead because it doesn't
// support the '%@' format option.
void QuietLog (NSString *format, ...)
{
va_list argList;
va_start (argList, format);
NSString *message = [[[NSString alloc] initWithFormat: format
arguments: argList] autorelease];
printf ("%s", [message UTF8String]);
va_end (argList);
} // QuietLog
答案 1 :(得分:2)
这是borkware quickies的变体:http://cocoaheads.byu.edu/wiki/a-different-nslog。它打印日志发生的文件和行号。我一直都在使用它。
答案 2 :(得分:-2)
NSLog只是打印到strerr。改为使用fprintf。
fprintf(stderr, "foobar");