- 论坛徽章:
- 15
|
本帖最后由 yulihua49 于 2016-04-18 10:25 编辑
xhx321 发表于 2016-04-15 12:21 ![]()
想实现这样的功能。在一个.c里有多个管理打印的宏。例如:O_DEBUG, O_TRACE,O_ERROR,各自有其打印的级别l ...
你看这个行吗?
- int ShowLog(int DEBUG_level,const char *fmt,...);
- #define EMASS_LOG_DEBUG (5)
- #define EMASS_LOG_VERBOSE (4)
- #define EMASS_LOG_INFO (3)
- #define EMASS_LOG_WARN (2)
- #define EMASS_LOG_ERROR (1)
- #define EMAS_DEBUG(fmt, arg...) ShowLog(EMASS_LOG_DEBUG, "[D][T:%lx] %s(%d) "fmt, pthread_self(), __FILE__, __LINE__, ##arg)
- #define EMAS_VERBOSE(fmt, arg...) ShowLog(EMASS_LOG_VERBOSE, "[V][T:%lx] %s(%d) "fmt, pthread_self(), __FILE__, __LINE__, ##arg)
- #define EMAS_INFO(fmt, arg...) ShowLog(EMASS_LOG_INFO, "[I][T:%lx] %s(%d) "fmt, pthread_self(), __FILE__, __LINE__, ##arg)
- #define EMAS_WARN(fmt, arg...) ShowLog(EMASS_LOG_WARN, "[W][T:%lx] %s(%d) "fmt, pthread_self(), __FILE__, __LINE__, ##arg)
- #define EMAS_ERR(fmt, arg...) ShowLog(EMASS_LOG_ERROR, "[E][T:%lx] %s(%d) "fmt, pthread_self(), __FILE__, __LINE__, ##arg)
复制代码 |
|