【发布时间】:2012-12-18 10:07:34
【问题描述】:
我有一个应用程序,我必须在其中维护该应用程序的日志文件。我正在使用 NSLog 进行日志记录。但这也会写入系统日志。如何摆脱这个。
方法:
NSString *appending_filename=[log_dir_path stringByAppendingString:@"/MyApp.log"];
const char *log_p = [appending_filename cStringUsingEncoding:NSUTF8StringEncoding];
newStderr= freopen(log_p, "a", stderr);
NSLog(@" This should only goes to MyApp.log");
【问题讨论】:
-
那为什么要使用NSLog,使用一些用户自定义的方法。
-
因为使用 NSLog 会自动获取带有 PID、时间、应用程序名称的日志。而且您不必一次又一次地打开/关闭文件描述符。
标签: objective-c macos cocoa nslog freopen