ログ出力時にコンソールに色が付けることができるXCodeのpluginを試してみました。
robbiehanson/XcodeColors
How to install
githubに書いていますが、buildするだけで
以下にプラグインファイルが置かれます。
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin
How to use
customマクロを定義する方法とCocoaLumberjackというのを利用する方法が紹介されています。
CocoaLumberjack は、log levelを設定してログの出力内容を分けることができるような
プラグインのようです。
使ったことないので、とりあえずcustomマクロで試してみます。
マクロは下記のように記載すればokです。 fg、bgは文字の色、背景色です。
githubの現在のreadmeは間違っているようなのでpull req出しておきました。
#define XCODE_COLORS_ESCAPE @"\033[" #define XCODE_COLORS_RESET_FG XCODE_COLORS_ESCAPE @"fg;" // Clear any foreground color #define XCODE_COLORS_RESET_BG XCODE_COLORS_ESCAPE @"bg;" // Clear any background color #define XCODE_COLORS_RESET XCODE_COLORS_ESCAPE @";" // Clear any foreground or background color
私は下記のようにしてみました
// XCodeColors // -- // The following is copied from the top of the XcodeColors.m file: #define XCODE_COLORS_ESCAPE @"\033[" #define XCODE_COLORS_RESET_FG XCODE_COLORS_ESCAPE @"fg;" // Clear any foreground color #define XCODE_COLORS_RESET_BG XCODE_COLORS_ESCAPE @"bg;" // Clear any background color #define XCODE_COLORS_RESET XCODE_COLORS_ESCAPE @";" // Clear any foreground or background color // -- #ifdef DEBUG #define LogBlue(frmt, ...) NSLog((XCODE_COLORS_ESCAPE @"fg70,95,160;" frmt XCODE_COLORS_RESET), ##__VA_ARGS__) #define LogRed(frmt, ...) NSLog((XCODE_COLORS_ESCAPE @"fg158,40,74;" frmt XCODE_COLORS_RESET), ##__VA_ARGS__) #else #define LogBlue #define LogRed #endif
こんな感じになります
LogBlue(@"blue test"); LogRed(@"red test");