在文本视图中的 App 内打印调试日志
Print debug log inside App inside a text view
我实际上正在寻找一种在应用程序中显示 debug
日志的方法,例如在 UITextView
里面。我只是想在开发时调试而不是为了生产。
我已经搜索了一段时间,但您只是得到了有关如何更改调试日志和其他内容的布局的提示,但我没有看到如何访问调试输出的方法。
有没有人已经这样做了,或者有什么方法可以访问调试日志?我可以想象 Apple 完全阻止了这一点,你无法访问这些信息。
我想得到这个信息:
更新
我找到了可以 help printing the log 的东西。有人知道如何将它包含到项目中吗?
您可以查看这些链接 link 1 and link 2
以下代码是将调试日志文本保存在文本文件中。这也有助于在文本视图中获取调试文本。
试试这个:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *logPath = [documentsDirectory
stringByAppendingPathComponent:@"app.log"];
freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:logPath error:nil] ;
NSNumber *fileSizeNumber = [fileAttributes objectForKey:NSFileSize];
long long fileSize = [fileSizeNumber longLongValue];
if(fileSize > 8000000){
freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"w",stderr);
}
每次你使用 NSLog() 时,将它(日志字符串)添加到一个数组中。然后使用 UITableView 显示手动(按钮)或自动更新(委托)的日志。
我实际上正在寻找一种在应用程序中显示 debug
日志的方法,例如在 UITextView
里面。我只是想在开发时调试而不是为了生产。
我已经搜索了一段时间,但您只是得到了有关如何更改调试日志和其他内容的布局的提示,但我没有看到如何访问调试输出的方法。
有没有人已经这样做了,或者有什么方法可以访问调试日志?我可以想象 Apple 完全阻止了这一点,你无法访问这些信息。
我想得到这个信息:
更新
我找到了可以 help printing the log 的东西。有人知道如何将它包含到项目中吗?
您可以查看这些链接 link 1 and link 2
以下代码是将调试日志文本保存在文本文件中。这也有助于在文本视图中获取调试文本。 试试这个:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *logPath = [documentsDirectory
stringByAppendingPathComponent:@"app.log"];
freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:logPath error:nil] ;
NSNumber *fileSizeNumber = [fileAttributes objectForKey:NSFileSize];
long long fileSize = [fileSizeNumber longLongValue];
if(fileSize > 8000000){
freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"w",stderr);
}
每次你使用 NSLog() 时,将它(日志字符串)添加到一个数组中。然后使用 UITableView 显示手动(按钮)或自动更新(委托)的日志。