#define TRACE_BUFF_MAX (4096)
#define TRACE_TIME_BUFF_MAX (4096)
void trace_print(char *format)
{
time_t now;
struct tm *lt;
int written;
va_list argument;
char buffer[TRACE_BUFF_MAX];
char timestr[TRACE_TIME_BUFF_MAX];
now = time(NULL);
lt = localtime(&now);
if(NULL == lt)
{
return;
}
strftime(timestr, sizeof(timestr), "%D%T", lt);
written = snprintf(buffer, TRACE_BUFF_MAX-1, "Time:%s-", timestr);
if(written<0)
{
return;
}
va_start(argument, format);
vsnprintf(buffer+written, (unsigned int)(TRACE_BUFF_MAX-written), format, argument);
va_end(argument);
buffer[TRACE_BUFF_MAX-1] = '\0';
fprintf(stderr, buffer);
fprintf(stderr, "\n");
}
#define DEBUG_INFO(_format, ...)\
trace_print("[%s,%d]%s:"_format"\n", __FILE__, __LINE__, __func__, ##__VA_ARGS__)