XLog() – Das bessere NSLog()

Um seinen Code-Ablauf  besser beobachten zu können wird üblicherweise NSLog genutzt. Problematisch ist es, die Log’s für das Releas zu deaktivieren. Hierfür habe ich ein nettes preprocessor macro gefunden. Zum deaktivieren der Logs, welche mittels XLog(@””); gesetzt werden, muss lediglich #define DEBUG 1 auskommentiert werden.

Großer Vorteil von XLog ist auch, dass es meldet, aus welcher Methode es ausgerufen wurde. Um beispielsweise zu testen, ob eine Methode aufgerufen wurde reicht folgendes aus:

 -(void)test { XLog(@""); } 

 

 Datei: AppName_Prefix.pch [ . . . ]  
#define DEBUG 1 
//#define RELEASE 1
 
#ifdef DEBUG 

// Debug definitions 
#define DEBUG_MODE 
#define XLog(fmt, ...) NSLog(@"%s line:%d " fmt, __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__) 

#else 

#ifndef RELEASE 
#error DEBUG or RELEASE need to be #defined 
#endif 

// Release definitions 
#define RELEASE_MODE 
#define XLog(...) 

#endif

Leave a Reply

Your email address will not be published. Required fields are marked *