重构printf
定义枚举类型打印等级
typedef enum
{
Log_Off = 0,
Log_Error = 1,
Log_Warn = 2,
Log_Info = 3,
Log_Debug = 4,
Log_Trace = 5,
}Log_Level;
定义当前打印等级
uint8_t Current_Log_Level = Log_Debug;
调用printf,输出打印
int LogMsg(Log_Level Level, const char *pcFormat, …)
{
int iRet = 0;
if(Level <= Current_Log_Level)
{
switch (Level)
{
case Log_Error:
iRet = printf("Error :");
break;
case Log_Warn:
iRet = printf("Warn :");
break;
case Log_Info:
iRet = printf("Info :");
break;
case Log_Debug:
iRet = printf("Debug :");
break;
case Log_Trace:
iRet = printf("Trace :");
break;
default:
break;
}
va_list list;
va_start(list,pcFormat);
iRet += vprintf(pcFormat, list);
va_end(list);
}
return iRet;
}