1、将日志输出到文件函数
void logprintf(const char *fmt, ...)
{
static int bLogFirstOpen = 0;
static char* Log_file = "./libskf_log.txt";
char message[MAX_LOG_SIZE];
memset(message, 0, MAX_LOG_SIZE);
time_t timer = time(NULL);
strftime(message, 23, "[%Y-%m-%d %H:%M:%S] ", localtime(&timer));
va_list args;
va_start(args, fmt);
vsnprintf(message + 22, MAX_LOG_SIZE - 22, fmt, args);
va_end(args);
FILE * fd = 0;
if (bLogFirstOpen == 0)
{
fd = fopen(Log_file, "wt+");
bLogFirstOpen = 1;
}
else
{
fd = fopen(Log_file, "at+");
}
size_t len = strlen(message);
fwrite(message, 1, len, fd);
fclose(fd);
}
2、用法
rv = SKF_MacFinal(hMac, encdata, &enclen);
if (rv != SAR_OK)
{
logprintf("SKF_MacFinal ERROR, errno[0x%08x]\n", rv);
return -1;
}