Gestion des journaux Objective-C

Méthode NSLog

Afin d'imprimer les journaux, nous utilisons la méthode NSLog en langage de programmation Objective-C que nous avons utilisé directement à partir de l'exemple Hello World.

Regardons un code simple qui afficherait les mots "Hello World" -

#import <Foundation/Foundation.h>

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

Maintenant, lorsque nous compilons et exécutons le programme, nous obtiendrons le résultat suivant.

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

Désactivation des journaux dans les applications Live

Étant donné que les NSLogs que nous utilisons dans notre application, ils seront imprimés dans les journaux de l'appareil et il n'est pas bon d'imprimer les journaux dans une version en direct. Par conséquent, nous utilisons une définition de type pour imprimer les journaux et nous pouvons les utiliser comme indiqué ci-dessous.

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

Maintenant, lorsque nous compilons et exécutons le programme en mode débogage, nous obtiendrons le résultat suivant.

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

Maintenant, lorsque nous compilons et exécutons le programme en mode version, nous obtiendrons le résultat suivant.

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