Обработка журналов Objective-C

NSLog метод

Для печати журналов мы используем метод NSLog на языке программирования Objective-C, который мы использовали прямо из примера Hello World.

Давайте посмотрим на простой код, который будет печатать слова «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