所以整个想法就是这样。我需要将这些调试控制台消息保存到某些字符串,然后将其写入文本文件。我对写入文本文件部分没有问题,因为我将使用writeData但是我对第一部分有问题。
在控制台中我在UIImage中打开损坏的图像文件时看到这些错误消息: :Bogus Huffman表定义 要么 :IDAT:CRC错误
如何从控制台中提取这些信息并将它们复制到字符串中,因为我需要记录这些信息是一个状态文件。有可能吗?
我尝试过[error localizedDescription],如果它无法打开图像,但我得到的字符串是Null。
另外,我用过了 freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],“a +”,stderr); 但问题是它通过文件路径将数据直接写入文本文件或日志文件。我想知道我是否可以将其保存为字符串,以便我可以自定义我的日志文件而不是与stderr相同的文件。
更新:
好吧我有一个想法,使用freopen方法,我可以不使用“a +”将它附加到日志文件并使用其他方式重复覆盖日志文件。然后我可以调用另一个函数来读取该文件并抓住错误消息。
第二部分应该没问题,但我需要第一部分的帮助。除了“a +”,我还能用什么?抱歉,我不确定所有这些stderr的东西。
任何帮助将不胜感激。谢谢
答案 0 :(得分:0)
我认为不可能以这种方式覆盖文件描述符。您可以通过定义自己的NSLog来覆盖NSLog,但这不会捕获写入文件描述符的所有内容。