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/
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)
DLog is a macro meant to conditionalize the behavior of NSLog()
in debug and release builds. For release builds it will print nothing. NSLog()
is meant to print format strings to the console.
Here is its definition for reference:
#ifdef DEBUG
# define DLog(...) NSLog(__VA_ARGS__)
#else
# define DLog(...) /* */
#endif
#define ALog(...) NSLog(__VA_ARGS__)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With