我有一个项目引用第三方框架。在其中使用NSLog
。我想将NSLog
重定向到其他目的地(比如Dotzu)
是否可以在我的项目中覆盖NSLog?
答案 0 :(得分:2)
你不能覆盖它,因为它是一个函数,而不是一个方法。但是,在NSLog()
的讨论中所述的某些条件下,stderr
还会NSLogv()
写入NSLog()
:
将错误消息记录到Apple系统日志工具(请参阅man 3 asl)。如果STDERR_FILENO文件描述符已被重定向远离默认值或将转到tty,则它也将被写入。如果要将输出定向到其他位置,则需要使用自定义日志记录工具。
只需使用STDERR_FILENO
重定向freopen()
。