[英]How to write a log in to a text file for debugging purpose using objective C?
我想调试我的应用程序中的登录过程,并希望在开发我的应用程序时评估结果。
登录过程包含用户名和密码等基本内容,我希望将此结果和其他凭据存储在文件中。
那么如何在开发应用程序时完成此任务,而不是一直使用断点。
谢谢。
不知道更多, NSLog
可能会这样做。
啊......好的 这样做你想要的(无论如何都是锅炉板),同时继续支持完整的NSString
格式。
....某处,宣布一个全球......
NSFileHandle *logFile = nil;
...初始化代码....
logFile = [NSFileHandle fileHandleForWritingAtPath: ...string containing path...];
......实际的日志功能....
void MyLog(NSString *format, ...) {
va_list args;
va_start(args, format);
NSString *formattedString = [[NSString alloc] initWithFormat: format
arguments: args];
va_end(args);
[logFile writeData: [formattedString dataUsingEncoding: NSNEXTSTEPStringEncoding]];
[formattedString release];
}
您可以将stderr(这是NSLog将其消息放入的位置)重定向到文件。
+ (void)redirectNSLogToFile {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *logPath = [documentsDirectory stringByAppendingPathComponent:@"console.log"];
freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
}
NSError *error;
NSMutableString *logstr = [ [NSMutableString alloc] init ];
// write info to logstr here
[ logstr writeToFile:@"file.log" atomically:YES encoding:NSUnicodeStringEncoding error:&error ];
你可以看看Log4Cocoa 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.