任何方式与NSLog打印颜色?

在典型的彩色terminal中,可以使用转义序列来打印不同颜色的文本。 通常有8种颜色可供select。 我试图在NSLog中使用标准的ANSI转义序列,但没有骰子。 它不支持这种机制。

有没有不同的方式使用NSLog打印到控制台(日志)颜色?

谢谢。

您可以使用Apple Color Emoji为您的Log输出添加一些颜色,如下所示:

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

由于上述代码可能在非OS-X平台上显示不正确,因此附上了XCode的屏幕截图,其中显示了代码和日志输出:

从代码和日志输出中使用Apple Color Emoji的X代码屏幕截图

像这样的一条线适合我:

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

(更多颜色可在这里 )

请注意,您必须在常规控制台中实际观察输出,因为Xcodedebugging控制台似乎不支持着色。

Ayoy的方法似乎一般在基于命令行的应用程序中使用printf

但是,我不认为这适用于内置的Xcode控制台:

这个:

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

…结果是:

你可以使用这个Xcode插件着色你的NSLog输出: https : //github.com/DeepIT/XcodeColors

我用我的快速设置说明和简单的自定义macros写了几行。

更新 :我现在使用支持颜色的NSLogger 。 非常强大。