soli
2014-09-02 10:30:13 +08:00
clog_file 和 _clog_debug 并不是太复杂,可以合并到一个函数里,减少一次函数调用。
接口可以定义成:
```
void clog_write(clogger *l, int level, const char *fmt, ...);
```
然后,用宏定义把 file、func、line 加进去。这样就可以在 debug 以上级别的日志里省掉这些内容。
比如:
```
#define CLOG_ERRO(log, fmt, args...) clog_write(log, CLOG_LEVEL_ERRO, fmt, ##args)
#define CLOG_WARN(log, fmt, args...) clog_write(log, CLOG_LEVEL_WARN, fmt, ##args)
#define CLOG_INFO(log, fmt, args...) clog_write(log, CLOG_LEVEL_INFO, fmt, ##args)
#define CLOG_DEBUG(log, fmt, args...) clog_write(log, CLOG_LEVEL_DEBUG, __FILE__":"__FUNCTION__"():"__LINE__" "fmt, ##args)
```
仅供参考。