iOS 把NSLog打印到文件的方法

使用以下代码可以把console打印处理的log都保存到文件

 

+ (void)redirectNSLogToDocumentFolder{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *fileName =[NSString stringWithFormat:@"%@.log",[NSDate date]];
    NSString *logFilePath = [documentsDirectory stringByAppendingPathComponent:fileName];
    freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
}

nslog输出都是stderr

还可以把输出stdout, 这个可以输出printf()打印的内容

需要在调NSLog之前调用上面这段代码才能将输出的内容保存到沙盒Document文件夹里面

posted @ 2015-04-01 11:10  子柱  阅读(616)  评论(0编辑  收藏  举报