XcodeでNSLogのログ出力に色をつける。

NSLogでXcodeにログを出力をするのは皆さんもやっていると思いますが、ログが多くなってくると大事な情報を見落としがちになります。

そこで、Xcodeのログ出力に色をつけましょう!

NSLogに色をつけるのは簡単・・・ではない?

ログ出力に色をつけるくらい簡単だろうと思っていましたが、「NSLog color」などで検索してみても意外とズバリの情報が出て来ません。

Any way to print in color with NSLog?

単純には色をつけられなそうです。

NSLog(@"%@", @"log");
NSLog(@"\e[1;31mRed text here\e[m normal text here");
NSLog(@"\033[fg255,0,0;%@\033[;", @"Red log");
NSLog(@"\033[fg0,0,255;%@\033[;", @"Blue log");

Stack Overflowにあるコードも試してみましたが、回答に書いてあるように、残念ながら色はつきません。

2013-01-24 00:59:51.872 ColorLog[72260:11303] log
2013-01-24 00:59:51.873 ColorLog[72260:11303] Red text here normal text here
2013-01-24 00:59:51.874 ColorLog[72260:11303] g255,0,0;Red log[;
2013-01-24 00:59:51.874 ColorLog[72260:11303] g0,0,255;Blue log[;

Xcodeのログに色をつけるXcodeColorsプラグイン

調べを進めると、Xcodeにプラグインを導入することで、色をつけられるようです。そんな素晴らしいプラグインが、XcodeColorsです。

https://github.com/robbiehanson/XcodeColors

Xcodeのプラグインなんて使ったことがなく、よくわからないので、READMEに書いてある通りにインストールします。

ソースコードをダウンロード

gitでcloneするなり、HTTPでソースコードをダウンロードするなりします。

$ git clone https://github.com/robbiehanson/XcodeColors.git
Cloning into 'XcodeColors'...
remote: Counting objects: 99, done.
remote: Compressing objects: 100% (64/64), done.
remote: Total 99 (delta 44), reused 79 (delta 24)
Unpacking objects: 100% (99/99), done.

プロジェクトをリリースビルドする

ソースコードの中に入っているプロジェクトをXcodeで起動し、リリースビルドします。デバッグビルドではダメだそうです。

プロジェクトをリリースビルドする簡単な方法をアーカイブすることです。

インストールを確認する。

Build Succeededが出たら、それで終わりのようです。Xcodeのプラグインディレクトリが以下のパスにあるらしく、ここを見ると確かにプラグインがインストールされています。

$ ls -lah ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/
total 0
drwxr-xr-x  3 katty  staff   102B  1 24 01:03 .
drwxr-xr-x  3 katty  staff   102B  1 23 11:44 ..
drwxr-xr-x  3 katty  staff   102B  1 24 01:03 XcodeColors.xcplugin

最後にXcodeを再起動すればログに色がつくようになる!

最後にプラグインを適用するために、Xcodeを再起動します。

この通り、先ほどと同じソースコードですが、ログに色がつくようになりました!

NSLog(@"\033[fg255,0,0;%@\033[;", @"Red log");

色はRGBで指定できます。fgで文字色、bgで背景色を変えることができます。

ログが見やすくなって、開発が快適になりました!ぜひ試してみてください。

About katty0324

Leave a Reply

Scroll To Top