更简单的NSLog宏

时间:2010-07-13 12:02:11

标签: iphone

使用iphone sdk 4.0我想从这个宏中移除函数名称,但我正在努力

#define LOG(fmt, ...) NSLog((@"%s " fmt), __PRETTY_FUNCTION__,##__VA_ARGS__)

我试过

#define LOG(fmt, ...) NSLog((@"%s " fmt), ##__VA_ARGS__)

但这会导致崩溃!!

我希望能够像这样记录

LOG("text to log");
LOG("text to log with param %d", param); etc

3 个答案:

答案 0 :(得分:6)

为什么不简单地喜欢这个?

#define LOG(fmt, ...) NSLog(fmt, ##__VA_ARGS__)

答案 1 :(得分:1)

我想你想要这个

#define Log(fmt, ...) NSLog(fmt, ##__VA_ARGS__);

答案 2 :(得分:0)

您应该将日志宏包装在do {} while(0)中;声明以避免if语句出错的可能性

do { ... } while (0) — what is it good for?