2012-01-25 9 views
42

En un terminal de color típico, hay secuencias de escape que se pueden usar para imprimir texto en diferentes colores. Normalmente hay 8 colores disponibles. Intenté usar las secuencias de escape estándar, ANSI para esto en NSLog, pero no dados. No es compatible con ese mecanismo.¿Alguna manera de imprimir en color con NSLog?

¿Hay alguna forma diferente de imprimir en la consola (registro) en color usando NSLog?

Gracias.

+0

Introducción de [CocoaLumberjack] (https://github.com/robbiehanson/CocoaLumberjack) en esta [Blog] (http://deusty.blogspot.com/2012 /05/does-your-xcode-do-this.html). – ohho

+0

Utilice la [Xcode Logger Library] (https://github.com/codeFi/XcodeLogger). Es un reemplazo de NSLog fácil de implementar, colorido, flexible, personalizable y más rápido. – Razvan

Respuesta

8

Una línea como ésta funciona para mí:

NSLog(@"\e[1;31mRed text here\e[m normal text here"); 

(más colores disponibles here)

en cuenta que tiene que ver realmente su salida en la consola regular, ya que no parece Xcode consola de depuración para apoyar colorear.

+0

Lo que estaba preguntando era si esto es realmente cierto, que la consola de depuración de Xcode no ofrece capacidad de color. Hasta ahora, la respuesta parece ser sí. –

+3

Bueno, entonces no tengo ni idea, pero parece que sí. Por supuesto, no es un problema con 'NSLog', ya que la consola de Xcode no da color a' printf() 'tampoco ... – ayoy

+0

Oye, ¿cómo configuraste un terminal como consola de Xcode? –

87

Puede utilizar Apple Color Emoji a añadir un poco de color a su salida del registro de esta manera:

if ([self isKindOfClass:[UITableViewController class]]) 
    NSLog(@" Table View controller Will appear: %@", NSStringFromClass([self class])); 
else if ([self isKindOfClass:[UINavigationController class]]) 
    NSLog(@" Navigation controller Will appear: %@", NSStringFromClass([self class])); 
else 
    NSLog(@" View controller Will appear: %@", NSStringFromClass([self class])); 

Debido a que el código anterior podría por visualizada en forma incorrecta a los no-OS-X-plataformas, Os adjunto una captura de pantalla de XCode, mostrando el código de registro y de salida:

Screenshot from X Code with Apple Color Emoji in code and log output

+1

¡Increíble !, me salvaste el tiempo. Esto es realmente simple y poderoso que usar madereros de colores. Gracias (votado) –

+22

para escribir emoji en Mavericks - Comando + Control + Espacio, en Mountain Lion - opción + comando + T –

+0

¡Esto es increíble! – codrut

Cuestiones relacionadas