Swift stderr和stout成单个文件

时间:2017-01-29 17:43:01

标签: ios swift stdout nslog freopen

对于iPhone应用程序,我需要将调试数据收集到一个文件中,以便发送到在线服务进行分析。通过将stderr输出转移到文件句柄并在适当时发送文件,这可以正常工作。 (NSLog输出也会在stderr中结束,因此这可以全面运行。)同样的方法也适用于stdout

以下是我如何保存文件:

freopen(cStringFilePath, "a+", stderr) // or stdout

上面正确地返回了UnsafeMutablePointer<FILE>我跟踪的内容,以便在必要时关闭文件。

但是,我需要 一个文件中的stdoutstderr的内容,并且逐行使用正确的时间顺序。

原因是我正在尝试调试产生诊断输出的第三方框架,但将其写入stdout而不是stderr

知道怎么做到这一点吗?

1 个答案:

答案 0 :(得分:2)

您是否尝试过两次致电freopen?一次使用stderr,一次使用stdout?当我尝试它时,我认为这对我的目的很好。