Difference between NSLog and DLog

slonkar picture slonkar · Mar 11, 2012 · Viewed 20.8k times · Source

Can anyone tell me what the difference is between NSLog and DLog?

I found about this DLog when I was looking over this project code: http://code.google.com/p/iphone-socks-proxy/

Answer

Pascal picture Pascal · Sep 12, 2012

DLog is a commonly used "Debug NSLog" alternative (just Google for it)

Here is a complete set of Log #define directives (including ULog, a UIAlertView based Logging feature)

// DLog will output like NSLog only when the DEBUG variable is set

#ifdef DEBUG
#   define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#   define DLog(...)
#endif

// ALog will always output like NSLog

#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);

// ULog will show the UIAlertView only when the DEBUG variable is set 

#ifdef DEBUG
#   define ULog(fmt, ...)  { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[NSString stringWithFormat:@"%s\n [Line %d] ", __PRETTY_FUNCTION__, __LINE__] message:[NSString stringWithFormat:fmt, ##__VA_ARGS__]  delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alert show]; }
#else
#   define ULog(...)
#endif

Just put them in your precompile header (.pch) file.

(source: http://overbythere.co.uk/blog/2012/01/alternatives-nslog)