典型的なカラー端末には、テキストを異なる色で印刷するために使用できるエスケープシーケンスがあります。通常、8色が使用可能です。 NSLogではこれに標準のANSIエスケープシーケンスを使用しようとしましたが、サイコロは使用しませんでした。そのメカニズムではサポートしていません。
NSLogを使用してコンソール(ログ)にカラーで印刷する別の方法はありますか?
ありがとう。
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のスクリーンショットを添付しました。
このような行は私のために働く:
NSLog(@"\e[1;31mRed text here\e[m normal text here");
(他の色も利用可能 ここ )
Xcodeデバッグコンソールはカラーリングをサポートしていないため、通常のコンソールで実際に出力を監視する必要があることに注意してください。
このXcodeプラグインを使用して、NSLog
出力を色付けできます。 https://github.com/DeepIT/XcodeColors
クイックセットアップ手順と簡単なカスタムマクロ を使用して数行を書きました。
Update:今使用しているのは NSLogger カラーサポート付きです。非常に強力です。
Ayoyのアプローチは、コマンドラインベースのアプリでprintf
を使用すると一般的に機能するようです:
ただし、これは組み込みのXcodeコンソールでは機能しないと思います。
この:
NSLog(@"\e[1;31mRed text here\e[m normal text here");
...この結果: