/** * Find the name and size of the file which will be used for logging. * ie. file name which contains max file count */ void CBaseLogObject::vGetNameAndSizeOfCurrentLogFile() { //Two conditions to search for the current file present at the main file //path folder //1.If logging is initialised //2.if file name is modified ie.m_omCurrLogFile belongs to diff. main file cycle //Find file only if current file is not same as main file if (m_omCurrLogFile.Compare(m_sLogInfo.m_sLogFileName)) { //Check if the curr file doesn't belong to main file group if (m_omCurrLogFile.GetLength() >= MIN_NAME_LENGTH) { CString omTempFile = m_omCurrLogFile.Left(m_omCurrLogFile.GetLength() - 2); if ( !omTempFile.Compare(m_sLogInfo.m_sLogFileName) ) { //If curr file belongs to main file group then do nothing return; } } if (ENOENT != _taccess(m_sLogInfo.m_sLogFileName, 0)) { CString strNextFile = omAddGroupCountToFileName(1, m_sLogInfo.m_sLogFileName); if (ENOENT != _taccess(strNextFile, 0)) { //If first file is not present then current file is main file m_omCurrLogFile = m_sLogInfo.m_sLogFileName; } else { //Search for the file in a group with highest count m_nCurrFileCnt = 0; for (int i = 2; (i <= MAX_LOG_FILE_IN_GRP) && (m_nCurrFileCnt != 0); i++) { strNextFile = omAddGroupCountToFileName(i, m_sLogInfo.m_sLogFileName); if (ENOENT != _taccess(strNextFile, 0)) { //If this file is not found means the last file is target file m_nCurrFileCnt = --i; } } m_omCurrLogFile = omAddGroupCountToFileName(m_nCurrFileCnt, m_sLogInfo.m_sLogFileName); } //Now find the size of the file m_dTotalBytes = dwGetFileSize(m_omCurrLogFile); } else { //If main file is not present initialise the current file //with main file m_omCurrLogFile = m_sLogInfo.m_sLogFileName; m_dTotalBytes = 0; m_nCurrFileCnt = 0; } } }
/** * Equal operator */ CBaseLogObject& CBaseLogObject::operator=(const CBaseLogObject& RefObj) { RefObj.GetLogInfo(m_sLogInfo); m_omCurrLogFile = RefObj.m_omCurrLogFile; m_nCurrFileCnt = RefObj.m_nCurrFileCnt; m_dTotalBytes = RefObj.m_dTotalBytes; // Update the log file name based on the current file count to update the data // This occurs when some of the config dialog members are changed if (m_nCurrFileCnt > 0) { int nIdx = m_omCurrLogFile.Find('_'); if (nIdx != -1) { m_omCurrLogFile = m_omCurrLogFile.Left(nIdx); m_omCurrLogFile += ".log"; } m_omCurrLogFile = omAddGroupCountToFileName(m_nCurrFileCnt, m_omCurrLogFile.GetBuffer(MAX_CHAR)); } Der_CopySpecificData(&RefObj); return *this; }
void CBaseLogObject::vSetNextFileName(void) { //If it is not default file then remove "_File count no." if (_tcscmp(m_omCurrLogFile.GetBuffer(MAX_PATH), m_sLogInfo.m_sLogFileName) && m_omCurrLogFile.GetLength() > 2) { m_omCurrLogFile.Left(m_omCurrLogFile.GetLength() - 2); } if ( ++m_nCurrFileCnt > MAX_LOG_FILE_IN_GRP) { //If it reaches max start again m_nCurrFileCnt = 0; m_omCurrLogFile = m_sLogInfo.m_sLogFileName; } else { //Add the file count with "_" m_omCurrLogFile = omAddGroupCountToFileName(m_nCurrFileCnt, m_sLogInfo.m_sLogFileName); } }