有没有办法强制禁止Mac OS X 桌面 Cocoa 应用程序中的所有日志记录?
有时系统的某些部分或插件(这是您无法控制的)会代表您的应用程序将消息记录到控制台(system.log)。
有没有办法抑制应用程序中的所有日志记录?
有没有办法强制禁止Mac OS X 桌面 Cocoa 应用程序中的所有日志记录?
有时系统的某些部分或插件(这是您无法控制的)会代表您的应用程序将消息记录到控制台(system.log)。
有没有办法抑制应用程序中的所有日志记录?
您可以使用 freopen 更改 stdout 和 sterr 指向的位置:
http://www.opengroup.org/onlinepubs/000095399/functions/freopen.html
@gabe:只是想提出类似的建议-只是尝试了一下,一个简单的'fclose(stderr)'似乎可以阻止任何输出。
每当我需要将控制台输出重定向到自定义视图时,我也会这样做:
stderr->_write = RedirectOutputToView;
stdout->_write = RedirectOutputToView;
其中 RedirectOutputToView 具有以下原型:
int RedirectOutputToView(void *inFD, const char *buffer, int size);