Files
EF3-Interface/PcDmis/Base/Interfac/Msi/Hsi/MicroVu/LOGGER.CPP
T
2013-05-09 20:29:54 +08:00

54 lines
1.1 KiB
C++

#include "stdafx.h"
#include "Logger.h"
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);
}
}