Any way to print in color with NSLog?

user945620 picture user945620 · Jan 25, 2012 · Viewed 22.3k times · Source

In a typical color terminal, there are escape sequences that one can use to print text in different colors. Typically there are 8 colors available. I tried using the standard, ANSI escape sequences for this in NSLog, but no dice. It does not support by that mechanism.

Is there a different way to print to the console (log) in color using NSLog?

Thanks.

Answer

Lena Schimmel picture Lena Schimmel · Dec 4, 2013

You can use Apple Color Emoji to add some color to your Log output like this:

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]));

Because the above code might by displayed incorrectly on non-OS-X-platforms, I attached a screenshot of XCode, showing the code and log output:

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