Objective-c-log-handling

提供:Dev Guides
移動先:案内検索

Objective-Cログ処理

NSLogメソッド

ログを印刷するには、Hello Worldの例で使用したObjective-Cプログラミング言語のNSLogメソッドを使用します。

「Hello World」という言葉を出力する簡単なコードを見てみましょう-

#import <Foundation/Foundation.h>

int main() {
   NSLog(@"Hello, World! \n");
   return 0;
}

これで、プログラムをコンパイルして実行すると、次の結果が得られます。

2013-09-16 00:32:50.888 demo[16669] Hello, World!

Liveアプリでログを無効にする

NSLogsはアプリケーションで使用するため、デバイスのログに出力されますが、ライブビルドでログを出力するのは適切ではありません。 したがって、ログの印刷にはタイプ定義を使用し、以下に示すように使用できます。

#import <Foundation/Foundation.h>

#if DEBUG == 0
#define DebugLog(...)
#elif DEBUG == 1
#define DebugLog(...) NSLog(__VA_ARGS__)
#endif

int main() {
   DebugLog(@"Debug log, our custom addition gets \
   printed during debug only" );
   NSLog(@"NSLog gets printed always" );
   return 0;
}

さて、デバッグモードでプログラムをコンパイルして実行すると、次の結果が得られます。

2013-09-11 02:47:07.723 demo[618] Debug log, our custom addition gets printed during debug only
2013-09-11 02:47:07.723 demo[618] NSLog gets printed always

リリースモードでプログラムをコンパイルして実行すると、次の結果が得られます。

2013-09-11 02:47:45.248 demo[3158] NSLog gets printed always