我的目的是读取与我的应用程序相关的所有系统日志消息( system.log文件中的所有这些日志消息),并将其存储在应用程序的Document文件夹中的日志文件中。我通过this code使用了this answer。
下面是我的代码:
NSDate *currentDate = [[NSDate alloc] init];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:[NSString stringWithFormat: @"dd-MM-yyyy-HHmmss"]];
NSString *logFileName = [[formatter stringFromDate:currentDate] stringByAppendingString:@".log"];
NSError *error;
NSMutableString *content = [[NSMutableString alloc] init];
aslmsg q, m;
int i;
const char *key, *val;
q = asl_new(ASL_TYPE_QUERY);
aslresponse r = asl_search(NULL, q);
while (NULL != (m = asl_next(r)))
{
NSMutableDictionary *tmpDict = [NSMutableDictionary dictionary];
for (i = 0; (NULL != (key = asl_key(m, i))); i++)
{
NSString *keyString = [NSString stringWithUTF8String:(char *)key];
val = asl_get(m, key);
NSString *string = [NSString stringWithUTF8String:val];
[tmpDict setObject:string forKey:keyString];
}
[content appendString:[NSString stringWithFormat:@"%@",tmpDict]];
}
asl_release(r);
NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:logFileName];
[[NSString stringWithString:content] writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error];这只是我的IOS应用程序的一部分代码。我在IOS模拟器上运行我的应用程序。
日志文件创建成功。它有一些主要是JSON的内容。
但是,该文件没有我通过NSLog输出的那些日志消息,但是这些日志消息存在于系统的日志文件中。
我是IOS开发的新手。如上所述,我访问系统日志文件的目的。因此,我希望捕获每条日志消息并将其保存到我的个人目录中。
我在这个Stackoverflow上搜索了很多。然而,我还没有找到确切的线索,可以帮助我在这方面。有没有人能给我适当的指导?(我希望这个问题不会重复。)
发布于 2016-02-14 07:16:16
我猜你希望他们稍后检查它们,以防你发现错误。也许你可以试试Bugfender (http://bugfender.com),它是我们在开发应用程序时从客户那里获取日志的工具。
有了它,你将能够获得所有的NSLog调用。
如果你不想使用Bugfender,你选择的答案是正确的。在我们的例子中,我们使用的是here文档中的函数
https://stackoverflow.com/questions/34554892
复制相似问题