这里以输出DEBUG信息为例子。
输出日志函数为LOG_DEBUG。具体使用方法为LOG_DEBUG("Play request: %s",pc->lpData);
void LOG_DEBUG(const char *fmt,...)
{
if (servMgr)
{
if ((servMgr->showLog & (1<<LogBuffer::T_DEBUG)) && (!servMgr->pauseLog))
{
va_list ap;
va_start(ap, fmt);
ADDLOG(fmt,ap,LogBuffer::T_DEBUG);
va_end(ap);
}
}
}
ADDLOG函数
void ADDLOG(const char *fmt,va_list ap,LogBuffer::TYPE type)
{
if(sys)
{
const int MAX_LINELEN = 1024;
char str[MAX_LINELEN+1];
vsnprintf(str,MAX_LINELEN-1,fmt,ap);
str[MAX_LINELEN-1]=0;
if (type != LogBuffer::T_NONE)
sys->logBuf->write(str,type);
peercastApp->printLog(type,str);
}
}
void APICALL MyPeercastApp ::printLog(LogBuffer::TYPE t, const char *str)
{
ADDLOG(str,logID,true,NULL,t);
if (logFile.isOpen())
{
logFile.writeLine(str);
logFile.flush();
}
}