Пример #1
0
void CLogArchiver::End(CCmdSession* pSession, const char *sCmdLine, const char* sCmdArg)
{
	CString oLogName;
	CFormatString oFmt(sCmdArg);
	int32 nRet = oFmt.Scan("%s", &oLogName);
	if(nRet < 1)
	{
		pSession->Print("Missing the server address argument\r\n");
		return;
	}
	if(!oLogName.IsIdentifierOfC())
	{
		pSession->Print("Invalid logname\r\n");
		return;
	}
	CArchiverTable* pTable = CArchiverTable::GetInstance();
	pTable->m_oMutex.Enter();
	CRbTreeNode* pIt = pTable->m_oArchiverTable.Find(oLogName);
	if(pIt == pTable->m_oArchiverTable.End())
	{
		pTable->m_oMutex.Leave();
		pSession->Print("The logname isn't existed\r\n");
		return;
	}
	CLogArchiver* pItem = pTable->m_oArchiverTable.GetItem(pIt);
	pItem->DeRegister();
	pTable->m_oMutex.Leave();
}
Пример #2
0
void CLogArchiver::Query(CCmdSession* pSession, const char *sCmdLine, const char* sCmdArg)
{
	CString oLogName;
	CFormatString oFmt(sCmdArg);
	int32 nRet = oFmt.Scan("%s", &oLogName);
	if(nRet < 1)
	{
		pSession->Print("Missing the server address argument\r\n");
		return;
	}
	if(!oLogName.IsIdentifierOfC())
	{
		pSession->Print("Invalid logname\r\n");
		return;
	}
	CArchiverTable* pTable = CArchiverTable::GetInstance();
	pTable->m_oMutex.Enter();
	CRbTreeNode* pIt = pTable->m_oArchiverTable.Find(oLogName);
	if(pIt == pTable->m_oArchiverTable.End())
	{
		pTable->m_oMutex.Leave();
		pSession->Print("The logname isn't existed\r\n");
		return;
	}
	CString oChooser;
	CLogArchiver* pItem = pTable->m_oArchiverTable.GetItem(pIt);
	pItem->GetChooser(oChooser);
	CFormatString oFmt2;
	oFmt2.Print("The chooser is '%s', \r\nand the filter include:", oChooser.GetStr());
	if(pItem->m_nFilter & FOCP_LOG_HOST)
		oFmt2.Print("HOST ");
	if(pItem->m_nFilter & FOCP_LOG_DATE)
		oFmt2.Print("DATE ");
	if(pItem->m_nFilter & FOCP_LOG_APPN)
		oFmt2.Print("APP ");
	if(pItem->m_nFilter & FOCP_LOG_MODU)
		oFmt2.Print("MODULE ");
	if(pItem->m_nFilter & FOCP_LOG_SRCF)
		oFmt2.Print("FILE ");
	if(pItem->m_nFilter & FOCP_LOG_FUNC)
		oFmt2.Print("FUNC");
	pSession->Print("%s\r\n", oFmt2.GetStr());
	pTable->m_oMutex.Leave();
}