AMPS:Trace模块源码解读 (九)

2014-11-24 08:28:18 · 作者: · 浏览: 9
le( (r_unTraceLevel = (r_unTraceLevel>>1)) != 0 ) { nOffset++;}
/*保存自定义的跟踪信息到va_list中*/
AMPS_INIT_PARAM_LIST(oAMPSParameterList, r_puchMessage);
/*获取系统时间*/
SAPI_GetCurrentTime(poAMPSTrace->pvAMPSContext, &poAMPSTrace->oAMPSTimerValue);
/*当模式为终端显示时,设置字体颜色*/
if(AMPS_TRACE_MODE_DISPLAY & unTraceMode)
{
SAPI_SetConsoleTextColor(nOffset, ppchTraceStr[nOffset], poAMPSTrace->oAMPSTimerValue.nHour, poAMPSTrace->oAMPSTimerValue.nMinute, poAMPSTrace->oAMPSTimerValue.nSecond, poAMPSTrace->oAMPSTimerValue.nMilliSecond, pchFileName, r_nLineNumber, r_pchFunctionName);
vprintf(r_puchMessage, oAMPSParameterList);
SAPI_SetDefaultConsoleTextColor(nOffset);
}
/*文件模式下的处理*/
if(AMPS_TRACE_MODE_FILE & unTraceMode && NULL != poAMPSTrace->oAMPSFile.hFileHandle)
{
fprintf(poAMPSTrace->oAMPSFile.hFileHandle,"%-7.8s=>%3.02d:%02d:%02d:%03d: ", ppchTraceStr[nOffset], poAMPSTrace->oAMPSTimerValue.nHour, poAMPSTrace->oAMPSTimerValue.nMinute, poAMPSTrace->oAMPSTimerValue.nSecond, poAMPSTrace->oAMPSTimerValue.nMilliSecond);
fprintf(poAMPSTrace->oAMPSFile.hFileHandle,"%-20.20s:%5d:%-30.30s: ", pchFileName, r_nLineNumber, r_pchFunctionName);
//fprintf(poAMPSTrace->oAMPSFile.hFileHandle,"%8.8s :%02d:%02d:%2d:%03d: ", ppchTraceStr[nOffset], poAMPSTrace->oAMPSTimerValue.nHour, poAMPSTrace->oAMPSTimerValue.nMinute, poAMPSTrace->oAMPSTimerValue.nSecond, poAMPSTrace->oAMPSTimerValue.nMilliSecond);
//fprintf(poAMPSTrace->oAMPSFile.hFileHandle,"%-20.20s:%5d:%-30.30s: ", r_pchFileName, r_nLineNumber, r_pchFunctionName);
vfprintf(poAMPSTrace->oAMPSFile.hFileHandle, r_puchMessage, oAMPSParameterList);
fflush(poAMPSTrace->oAMPSFile.hFileHandle);
}
/*清空va_list*/
AMPS_CLEANUP_PARAM_LIST(oAMPSParameterList);
}
}
/*****************************************************************
函数名称: Trace_SetTraceForTraceID
功能描述: 设置跟踪模块
入参::
void* r_pvAMPSContext AMPS应用上下文数据结构
unsigned int r_unTraceID 跟踪模块
出参:
--
返回值:
void
*****************************************************************/
void Trace_SetTraceForTraceID(void* r_pvAMPSContext, unsigned int r_unTraceID)
{
t_AMPSTrace* poAMPSTrace = g_poAMPSTrace;
if(NULL == poAMPSTrace)
{
return;
}
poAMPSTrace->unModuleId |= r_unTraceID;
}
/*****************************************************************
函数名称: Trace_ClearTraceForTraceID
功能描述: 清除跟踪模块
入参::
void* r_pvAMPSContext AMPS应用上下文数据结构
unsigned int r_unTraceID 跟踪模块
出参:
--
返回值:
void
*****************************************************************/
void Trace_ClearTraceForTraceID(void* r_pvAMPSContext, unsigned int r_unTraceID)
{
t_AMPSTrace* poAMPSTrace = g_poAMPSTrace;
if(NULL == poAMPSTrace)
{
return;
}
poAMPSTrace->unModuleId &= (~r_unTraceID);
}
/*****************************************************************
函数名称: Trace_SetTraceLevel
功能描述: 设置跟踪级别
入参::
void* r_pvAMPSContext AMPS应用上下文数据结构
unsigned int r_unTraceLevel 跟踪