Obsługa dziennika Objective-C

Metoda NSLog

Aby wydrukować logi, używamy metody NSLog w języku programowania Objective-C, którego użyliśmy bezpośrednio z przykładu Hello World.

Przyjrzyjmy się prostemu kodowi, który wypisuje słowa „Hello World” -

#import <Foundation/Foundation.h>

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

Teraz, kiedy kompilujemy i uruchamiamy program, otrzymamy następujący wynik.

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

Wyłączanie dzienników w aplikacjach na żywo

Ponieważ dzienniki NSLog, których używamy w naszej aplikacji, będą drukowane w dziennikach urządzenia i nie jest dobrze drukować dzienniki w kompilacji na żywo. Dlatego używamy definicji typu do drukowania dzienników i możemy ich używać, jak pokazano poniżej.

#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;
}

Teraz, kiedy kompilujemy i uruchamiamy program w trybie debugowania, otrzymamy następujący wynik.

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

Teraz, kiedy kompilujemy i uruchamiamy program w trybie wydania, otrzymamy następujący wynik.

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