23,223
社区成员
发帖
与我相关
我的任务
分享#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void log_write(const char *log)
{
printf("%s\n", log);
}
void log_debug(const char *file, const char *func, int line, const char *log)
{
printf("[%s %s %d] %s\n", file, func, line, log);
}
#define _DEBUG
#ifdef _DEBUG
#define LOG(log) log_debug(__FILE__, __FUNCTION__, __LINE__, log)
#else
#define LOG(log) log_write(log)
#endif
int main(int argc, char *const argv[])
{
LOG("hello");
return 0;
}
这不就是所有log库做的所有事情吗?int log_open(const char *name);
void log_message(int priority ,const char* fmt, ...);
void log_trace(const char *file , int line , const char *func, const char * fmt ,...);
int log_close();
#define LOG_ERROR(fmt , args...) \
log_message(LOG_PRI_ERROR, fmt, ##args)
#define LOG_WARN(fmt, args...) \
log_message(LOG_PRI_WARN, fmt , ##args)
#define LOG_NOTICE(fmt , args...) \
log_message(LOG_PRI_NOTICE, fmt , ##args)
#define LOG_DEBUG(fmt , args...) \
log_message(LOG_PRI_DEBUG, fmt , ##args)
#define LOG_TRACE(fmt,args...) \
log_trace(__FILE__ , __LINE__ , __FUNCTION__ , fmt ,## args)