The Most Useful Objective-C Code I’ve Ever Written
vgable.com
vgable.com
http://www.borkware.com/rants/agentm/mlog/
There are others.
I personally like to define a Log() as:
#ifdef DEBUG
#define MYLog(fmt, ...) NSLog(@"%s: " fmt, __PRETTY_FUNCTION__, ##__VA_ARGS__)
#else
#define MYLog(...)
#endif
This way, I can log on debug builds only (add -DDEBUG as an "Other C Flag" to Xcode), and it gives me the method name that it was called on. Just enough context to be useful to track something down, not enough to cause a sea of output noise.You can use any of the C preprocessor macro's[1] this way.
1. http://gcc.gnu.org/onlinedocs/gcc-3.1.1/cpp/Standard-Predefi...
The OP's implementation automatically determines the correct format string from the type of the variable. So you can simply do:
LOG_EXPR(some_int); LOG_EXPR(some_float); LOG_EXPR(some_complex_cocoa_type);
See http://i.imgur.com/Doy2r.png. Seems to happen whenever he switches to something like a code fragment or italics inline.
- Chrome: http://emberapp.com/pietrofmaggi/images/google-chrome
- Safari: http://emberapp.com/pietrofmaggi/images/safari
BTW: the article is not mine, I just posted it on HN.