我在 OS X 上运行可可应用程序。我使用 NSLog 进行调试。现在我想将日志语句重定向到文件而不是控制台。
我使用过这种方法,但它会导致在控制台和文件中登录。
- (BOOL)redirectNSLog
{
// Create log file
[@"" writeToFile:@"/NSLog.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
id fileHandle = [NSFileHandle fileHandleForWritingAtPath:@"/NSLog.txt"];
if (!fileHandle) return NSLog(@"Opening log failed"), NO;
[fileHandle retain];
// Redirect stderr
int err = dup2([fileHandle fileDescriptor], STDERR_FILENO);
if (!err) return NSLog(@"Couldn't redirect stderr"), NO;
return YES;
}
是否可以在控制台中没有日志语句而只有在文件中?