在典型的彩色终端中,存在可用于以不同颜色打印文本的转义序列.通常有8种颜色可供选择.我尝试在NSLog中使用标准的ANSI转义序列,但没有骰子.它不支持该机制.
是否有不同的方法使用NSLog以彩色打印到控制台(日志)?
谢谢.
Len*_*mel 95
您可以使用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]));
Run Code Online (Sandbox Code Playgroud)
因为上面的代码可能在非OS-X平台上显示不正确,所以我附上了XCode的截图,显示了代码和日志输出:

像这样的一条线对我有用:
NSLog(@"\e[1;31mRed text here\e[m normal text here");
Run Code Online (Sandbox Code Playgroud)
(这里有更多颜色)
请注意,您必须在常规控制台中实际观察输出,因为Xcode调试控制台似乎不支持着色.
Ayoy的方法似乎在基于命令行的应用程序中有效printf:
但是,我认为这不适用于内置的Xcode控制台:
这个:
NSLog(@"\e[1;31mRed text here\e[m normal text here");
Run Code Online (Sandbox Code Playgroud)
...结果如下:
您可以NSLog使用此Xcode插件为输出着色:https://github.com/DeepIT/XcodeColors
我用快速设置说明和简单的自定义宏写了几行.
更新:我现在正在使用带有颜色支持的NSLogger.功能强大.
| 归档时间: |
|
| 查看次数: |
20486 次 |
| 最近记录: |