在典型的彩色终端中,可以使用转义序列来打印不同颜色的文本。通常有8种颜色可供选择。我尝试在NSLog中使用标准的ANSI转义序列,但没有骰子。它不支持该机制。
是否有不同的方法使用NSLog以彩色方式打印到控制台(日志)?
感谢。
答案 0 :(得分:96)
您可以使用Apple Color Emoji为日志输出添加一些颜色,如下所示:
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的屏幕截图,显示了代码和日志输出:
答案 1 :(得分:8)
这样的一条线对我有用:
NSLog(@"\e[1;31mRed text here\e[m normal text here");
(更多颜色可用here)
请注意,您必须在常规控制台中实际观察输出,因为Xcode调试控制台似乎不支持着色。
答案 2 :(得分:6)
Ayoy的方法似乎在基于命令行的应用printf
中起作用:
但是,我不认为这适用于内置的Xcode控制台:
此:
NSLog(@"\e[1;31mRed text here\e[m normal text here");
......结果如下:
答案 3 :(得分:6)
您可以使用此Xcode插件为NSLog
输出着色:https://github.com/DeepIT/XcodeColors
我用my quick setup instructions and simple custom macros写了几行。
更新:我现在正在使用NSLogger颜色支持。非常强大。