Pregunta

¿Hay una manera de forzar la supresión de todos en el registro de una aplicación Cocoa escritorio de Mac OS X?

A veces alguna parte del sistema o un plugin (que está fuera de su control) registrará los mensajes en nombre de su aplicación a la consola (system.log).

¿Hay una manera de suprimir toda la tala en su aplicación?

¿Fue útil?

Solución

@gabe: estaba a punto de sugerir algo similar - sólo lo probé, y un simple 'fclose (stderr)' parece impedir cualquier salida

.

Otros consejos

Se puede usar freopen a cambiar el lugar donde la salida estándar y el punto sterr a:

http://www.opengroup.org/onlinepubs/000095399/functions /freopen.html

También he hecho esto cada vez que he necesitado para redirigir la salida de la consola a una vista personalizada:

stderr->_write = RedirectOutputToView;
stdout->_write = RedirectOutputToView;

Cuando RedirectOutputToView tiene el siguiente prototipo:

int RedirectOutputToView(void *inFD, const char *buffer, int size);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top