gpt4 book ai didi

objective-c - NSLog() 到控制台和文件

转载 作者:太空狗 更新时间:2023-10-30 03:11:11 25 4
gpt4 key购买 nike

我想将 NSog() 重定向到文件,但仍要在控制台中查看输出。我知道可以使用以下方法将 stderr 重定向到文件:

freopen("file.log", "a+", stderr);

但在将其重定向到文件后,日志不再显示在控制台输出中。

我可以围绕 NSLog() 构建自定义包装器,但我不会获得在应用程序崩溃时写入 stderr 的崩溃日志。

我也在试验 dup() 和其他复制文件描述符的方法,但输出是在文件或控制台中的以太币,而不是在两者中。

这里问了类似的问题: Write stderr on iPhone to both file and console但没有接受的答案,或者建议使用 NSLog() 包装器。

有人知道如何管理这项工作吗?提前致谢。

更新:重定向最重要的部分是将系统错误日志 (stderr) 写入控制台和文件。

最佳答案

我们实现的方式是:

if (!isatty(STDERR_FILENO)) {
// Redirection code
}

这是基于一般假设,即如果连接了控制台,则不需要将这些日志存储在文件中,因为您已经在调试了。因此,无论何时连接控制台,都会在那里打印日志,否则将保存到文件中。

关于objective-c - NSLog() 到控制台和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9619708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com