目次
ビルドのモードによってログの出力を切り替える
NSLogの使い方を調べていたら以下のとおりDEBUGモードの時だけログを出力する方法が書いてありました。
最終的には #define ALog(fmt, ...) NSLog((@"%s \[Line %d\] " fmt), \_\_PRETTY\_FUNCTION\_\_, \_\_LINE\_\_, ##\_\_VA\_ARGS\_\_);
これは元々はiPhone Development Blogの記事から引用していますが、よく読むと正しく以下の部分を定義する必要があると思います。
The Evolution of a Replacement for NSLog | iPhone Development Blog
#ifdef DEBUG #define DLog(fmt, ...) NSLog((@"%s \[Line %d\] " fmt), \_\_PRETTY\_FUNCTION\_\_, \_\_LINE\_\_, ##\_\_VA\_ARGS\_\_); #else #define DLog(...) #endif // ALog always displays output regardless of the DEBUG setting #define ALog(fmt, ...) NSLog((@"%s \[Line %d\] " fmt), \_\_PRETTY\_FUNCTION\_\_, \_\_LINE\_\_, ##\_\_VA\_ARGS\_\_);
DLogはDEBUGが0のときに(RELEASEモード)何も出力せず、それ以外のときにログを出力します。
また、ALogはDEBUGの設定に関わらずログを出力するとあるので、常に出力したいデバッグ情報はALogで出力します。