Chinaunix首页 | 论坛 | 博客
  • 博客访问: 591914
  • 博文数量: 92
  • 博客积分: 5026
  • 博客等级: 大校
  • 技术积分: 1321
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-28 11:04
文章分类

全部博文(92)

文章存档

2011年(9)

2010年(17)

2009年(12)

2008年(54)

我的朋友

分类:

2010-10-29 21:46:38

//是否打印调试日志,可修改

#define DEBUG

//是否在日志中打印文件名,可修改

//#define DEBUG_PRINT_FILENAME



//更详细的日志信息

#ifdef DEBUG

#ifdef DEBUG_PRINT_FILENAME

#define DEBUG_FILENAME [[NSString stringWithUTF8String:__FILE__] lastPathComponent]

#define DEBUG_FILENAME_LINE_SEP ":"

#else  //PRINT_FILENAME

#define DEBUG_FILENAME @""

#define DEBUG_FILENAME_LINE_SEP ""

#endif //PRINT_FILENAME


#define DEBUG_NEW_FMT(fmt) \

[NSString stringWithFormat:@"%s(%@%s%d) %@", \

__FUNCTION__, \

DEBUG_FILENAME, \

DEBUG_FILENAME_LINE_SEP, \

__LINE__, \

fmt]



//打印日志

#define DEBUG_LOG(fmt, ...) NSLog(DEBUG_NEW_FMT(fmt), ##__VA_ARGS__)

//打印空日志,参数0为了消除编译器的警告

#define DEBUG_LOG_NULL NSLog(DEBUG_NEW_FMT(@""), 0)

//打印一个变量

#define DEBUG_LOG_VALUE(x, fmt)  do {  \

DEBUG_LOG(@#x " = " #fmt, x); \

} while(0)


#else //DEBUG

#define DEBUG_LOG(fmt, ...) 

#define DEBUG_LOG_NULL

#define DEBUG_LOG_VALUE(x, fmt) 

#endif //DEBUG





PS:

NSLog打印日志不够详细,有点麻烦。看着太累,稍微封装了下。可以直接放到xxprefix.pch中。使用方法:

DEBUG_LOG_NULL;
DEBUG_LOG(@"str = %@", str);
DEBUG_LOG_VALUE(str, %@);

阅读(2312) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~