//------------------------------------------------------------------------ void CLogFile::LogTextWithDate(const TCHAR * pszString, ...) { THREAD_PROTECT; if (m_fpLog == NULL) return; LogDate(); va_list vl; va_start(vl, pszString); wvsprintf(m_szCache, pszString, vl); va_end(vl); fputws(m_szCache, m_fpLog); fputws(L"\n", m_fpLog); fflush(m_fpLog); }
//------------------------------------------------------------------------ void CLogFile::LogBinary(LPVOID lpData, int nSize, int nLineSize) { THREAD_PROTECT; BYTE * pString = (BYTE*)lpData; char szAscii[20]; szAscii[1] = 0; if (m_fpLog == NULL || lpData == NULL)return; LogDate(); NextLine(); fprintf(m_fpLog, "binary data( 0x%08x ) size: %d\n<start>\n", lpData, nSize); int iLineCount = 0; for (int i = 0; i < nSize; i++) { if (*(pString + i) <= 0x20) { fputc('.', m_fpLog); } else { fputc(*(pString + i), m_fpLog); } iLineCount++; if (iLineCount >= nLineSize) { fprintf(m_fpLog, "\n"); iLineCount = 0; } } fprintf(m_fpLog, "\n<end>\n"); fflush(m_fpLog); fprintf(m_fpLog, "hex code of binary data\n<start>\n"); for (int i = 0; i < nSize; i++) { fprintf(m_fpLog, "%02x ", *(pString + i)); iLineCount++; if (iLineCount >= nLineSize) { fprintf(m_fpLog, "\n"); iLineCount = 0; } } fprintf(m_fpLog, "\n<end>\n"); fflush(m_fpLog); }
void CEvohomeBase::Log(bool bDebug, int nLogLevel, const char* format, ... ) { va_list argList; char cbuffer[1024]; va_start(argList, format); vsnprintf(cbuffer, 1024, format, argList); va_end(argList); if(!bDebug || m_bDebug) _log.Log(static_cast<_eLogLevel>(nLogLevel),cbuffer); if(m_bDebug && m_pEvoLog) { LogDate(); *m_pEvoLog << cbuffer; *m_pEvoLog << std::endl; } }
void CEvohomeBase::Log(const char *szMsg, CEvohomeMsg &msg) { if(m_bDebug && m_pEvoLog) { LogDate(); *m_pEvoLog << szMsg; *m_pEvoLog << " ("; for(int i=0;i<msg.payloadsize;i++) { unsigned char c = msg.payload[i]; if (c < 0x20 || c > 0x7E) c = '.'; *m_pEvoLog << c; } *m_pEvoLog << ")"; *m_pEvoLog << std::endl; } }