任何方式与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的屏幕截图,其中显示了代码和日志输出:
像这样的一条线适合我:
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 。 非常强大。