[英]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.