SDC C-Project CF Review 프로그램
ReviewSystem/ReviewSystem/DisplayMessage.cpp
@@ -33,7 +33,9 @@
void CDisplayMessage::SetPath(const CString& strPath)
{
   m_strLogPath = strPath;
   CString m_GlobalLogPath;
   m_strLogFile.Format(_T("D:\\DIT_LogData\\%04d%02d%02d"), m_strLogPath, m_TimeLogFile.GetYear(), m_TimeLogFile.GetMonth(), m_TimeLogFile.GetDay());
   CreateDirectory(m_strLogFile, NULL);
   CreateDirectory(m_strLogPath, NULL);
   MakeLogFile();
@@ -42,6 +44,10 @@
BOOL CDisplayMessage::MakeLogFile()
{
   // Log 처리
   CString m_GlobalLogPath;
   m_strLogFile.Format(_T("D:\\DIT_LogData\\%04d%02d%02d"), m_TimeLogFile.GetYear(), m_TimeLogFile.GetMonth(), m_TimeLogFile.GetDay());
   CreateDirectory(m_strLogFile, NULL);
   if (m_strLogPath.IsEmpty())
      return FALSE;
@@ -67,8 +73,14 @@
//    {
//       m_pDM2P->DM2P_DisplayMessage(strMessage);
//    }
   CString* pstrLog = new CString(strMessage);
   PostThreadMessage(m_ThreadId, WM_DIPLAY_LOG, reinterpret_cast<WPARAM>(pstrLog), 0);
   /*< SWK 20221226 - #4403 MOD Start >*/
//    CString* pstrLog = new CString(strMessage);
//    PostThreadMessage(m_ThreadId, WM_DIPLAY_LOG, reinterpret_cast<WPARAM>(pstrLog), 0);
   pLogData plogdata = new LogData;
   ::GetLocalTime(&plogdata->currentTime);
   plogdata->strLog = strMessage;
   PostThreadMessage(m_ThreadId, WM_DIPLAY_LOG, reinterpret_cast<WPARAM>(plogdata), 0);
   /*< SWK 20221226 - #4403 MOD End >*/
}
// #3417 LYWCF AOI Review 전설비 Log Process개선 ADD END
@@ -78,13 +90,26 @@
{
   va_list list;
   TCHAR strText[2000] = {0};
   try
   {
      va_start(list, lpstrFormat);
      _vstprintf_s(strText, lpstrFormat, list);
      va_end(list);
   va_start(list, lpstrFormat);
   _vstprintf_s(strText, lpstrFormat, list);
   va_end(list);
      /*< SWK 20221226 - #4403 MOD Start >*/
//       CString* pstrLog = new CString(strText);
//       PostThreadMessage(m_ThreadId, WM_DIPLAY_LOG, reinterpret_cast<WPARAM>(pstrLog), 0);
      pLogData plogdata = new LogData;
      ::GetLocalTime(&plogdata->currentTime);
      plogdata->strLog = strText;
      PostThreadMessage(m_ThreadId, WM_DIPLAY_LOG, reinterpret_cast<WPARAM>(plogdata), 0);
      /*< SWK 20221226 - #4403 MOD End >*/
   }
   catch (...)
   {
      return;
   }
   CString* pstrLog = new CString(strText);
   PostThreadMessage(m_ThreadId, WM_DIPLAY_LOG, reinterpret_cast<WPARAM>(pstrLog), 0);
//    WriteToFile(strText);
// 
@@ -96,23 +121,28 @@
// #3417 LYWCF AOI Review 전설비 Log Process개선 ADD END
// #3417 LYWCF AOI Review 전설비 Log Process개선 ADD START
void CDisplayMessage::ThreadDisplayMessage(const CString& strMessage)
//< SWK 20221226 - #4403 MOD >
//void CDisplayMessage::ThreadDisplayMessage(const CString& strMessage)
void CDisplayMessage::ThreadDisplayMessage(const LogData& logdata)
{
   WriteToFile(strMessage);
   WriteToFile(logdata.currentTime, logdata.strLog);
   if (m_pDM2P)
   {
      m_pDM2P->DM2P_DisplayMessage(strMessage);
      m_pDM2P->DM2P_DisplayMessage(logdata.strLog);
   }
}
BOOL CDisplayMessage::WriteToFile(const CString& strMessage)
//< SWK 20221226 - #4403 MOD >
//BOOL CDisplayMessage::WriteToFile(const CString& strMessage)
BOOL CDisplayMessage::WriteToFile(const SYSTEMTIME& t, const CString& strMessage)
{
   if(m_pFileLog == NULL)   return FALSE;
   //EnterCriticalSection(&m_csLog);
   CTime   time = CTime::GetCurrentTime();
   //< SWK 20221226 - #4403 MOD >
//   CTime   time = CTime::GetCurrentTime();
   CTime   time(t);
   CString   strTimeStamp = _T("");
   // 날짜가 바뀌면 파일명을 갱신해서 쓴다.
   if ((time.GetMonth() != m_TimeLogFile.GetMonth()) || (time.GetDay() != m_TimeLogFile.GetDay()) || !m_pFileLog)
@@ -123,7 +153,11 @@
      // 유니코드 파일의 시작은 BOM(0xFEFF) 이어야 한다.
      TCHAR strCommand = 0xFEFF;
      CString strLog = _T("");
      strTimeStamp.Format(_T("[%02d:%02d:%02d]"), time.GetHour(), time.GetMinute(), time.GetSecond());
      //strTimeStamp.Format(_T("[%02d:%02d:%02d]"), time.GetHour(), time.GetMinute(), time.GetSecond());
      /*< SWK 20221221 - #4403 MOD Start >*/
//      strTimeStamp.Format(_T("[%02d:%02d:%02d_%02d:%02d:%02d]"), time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond());
      strTimeStamp.Format(_T("[%02d:%02d:%02d_%02d:%02d:%02d.%03d]"), time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond(), t.wMilliseconds);
      /*< SWK 20221221 - #4403 MOD End >*/
#ifdef UNICODE
      strLog.Format(_T("%c%s %s\r\n"), strCommand, strTimeStamp, strMessage);
#else
@@ -140,17 +174,24 @@
   return TRUE;
}
DWORD RunThreadDisplayLog(LPVOID param)
DWORD CDisplayMessage::RunThreadDisplayLog(LPVOID param)
{
   MSG msg;
   while (GetMessage(&msg, NULL, 0, 0))
   {
      CString* pstrLog = reinterpret_cast<CString*>(msg.wParam);
      //< SWK 20221226 - #4403 MOD >
//      CString* pstrLog = reinterpret_cast<CString*>(msg.wParam);
      CDisplayMessage::pLogData plogdata = reinterpret_cast<CDisplayMessage::pLogData>(msg.wParam);
      switch (msg.message)
      {
      case WM_DIPLAY_LOG:
         
         g_pLog->ThreadDisplayMessage(*pstrLog);
         /*< SWK 20221226 - #4403 MOD Start >*/
//          g_pLog->ThreadDisplayMessage(*pstrLog);
//          delete pstrLog;
         g_pLog->ThreadDisplayMessage(*plogdata);
         delete plogdata;
         /*< SWK 20221226 - #4403 MOD End >*/
         break;
      default: