| | |
| | | void CDisplayMessage::SetPath(const CString& strPath) |
| | | { |
| | | m_strLogPath = strPath; |
| | | |
| | | 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); |
| | | CreateDirectory(m_strLogPath, NULL); |
| | | |
| | | MakeLogFile(); |
| | |
| | | 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; |
| | | |
| | |
| | | // { |
| | | // 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 |
| | |
| | | { |
| | | 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); |
| | | // |
| | |
| | | // #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) |
| | |
| | | // 유니코드 파일의 시작은 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 |
| | |
| | | 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: |