#include "stdafx.h" #include "Logger.h" #include void CLogger::SendAtTime(const char* buffer) { if (!m_File) { m_File = _wfsopen(m_FileName, _T("at"), _SH_DENYWR); } if(m_File) { CTime _cTime=CTime::GetCurrentTime(); CString csTime=_cTime.Format("[%m/%d %H:%M] "); _ftprintf(m_File,_T("%s\r\n"), csTime); fprintf(m_File,"%s", buffer); } } void CLogger::Send(LPCTSTR format, ...) { if (!m_File) { m_File = _wfsopen(m_FileName, _T("at"), _SH_DENYWR); } int length = 0; va_list list; va_start(list, format); length = vswprintf_s(m_Str,5000, format, list); if(m_File) { _ftprintf(m_File, m_Str); } } void CLogger::SendAndFlush(LPCTSTR format, ...) { int length = 0; va_list list; va_start(list, format); length = vswprintf_s(m_Str2,5000, format, list); Send(m_Str2); if(m_File) { fclose(m_File); m_File = NULL; if(m_FileName.GetLength() > 0) m_File = _wfsopen(m_FileName, _T("at"), _SH_DENYWR); } } void CLogger::SendAndFlushPerMode(LPCTSTR format, ...) { int length = 0; va_list list; va_start(list, format); length = vswprintf_s(m_Str2,5000, format, list); Send(m_Str2); if((m_lLogMask & LOGFLUSH) && m_File) { fclose(m_File); m_File = NULL; if(m_FileName.GetLength() > 0) m_File = _wfsopen(m_FileName, _T("at"), _SH_DENYWR); } }