From 308273fef97381356e96fcd9c17011409a3c2920 Mon Sep 17 00:00:00 2001 From: kojingeun <diteam.co.kr> Date: 수, 07 6월 2023 10:28:21 +0900 Subject: [PATCH] Ongoing50 #4517 CF AOI Review 결과 파일 찾기 실패 개선 1. Find Bin File 찾는 Library 변경 - CRT _findfirsti64 / _findnexti64 -> C++17 Filesystem directory_iterator - 파일 탐색 시간 20k Files(80GB) 1sec 소요 --- ReviewHistory/include/akCore/akLogger.h | 69 ++++++++++++++++++++++++++++++++++ 1 files changed, 69 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/include/akCore/akLogger.h b/ReviewHistory/include/akCore/akLogger.h new file mode 100644 index 0000000..7a4e5f8 --- /dev/null +++ b/ReviewHistory/include/akCore/akLogger.h @@ -0,0 +1,69 @@ +#pragma once + +#include "akCoreLinker.h" +#include <queue> +#include <windows.h> +#include "akSTL/akQueueCircle.h" + +class AKCORE_DLLSPEC CakLogger +{ +public: + CakLogger(int nBufferSize = 200, int nStringLen = 512 ); + virtual ~CakLogger(void); + + struct _LoggerData + { + unsigned int nIndex; + char nLevel; + char nSection; + //char strDate[16]; + //char strTime[16]; + SYSTEMTIME stTime; + char* pData; + }; + + //pFileName을 C:\AOIServer\Log\AOILog <- 여기 까지 기입, 그러면 뒤에 날자 붙이고 .log붙여서 파일명 완성 [김태현 2018/11/19] + virtual void setWriteFileMode(char* pFileName, int nIntervalWrite = 500); + //dit 로그 모드 + virtual void setWriteFileMode2(char* pPathName, char* pFileName, int nIntervalWrite = 500); + + //TRACE + virtual void setLog(char* format, ...); + virtual void getDateTime(char* pStrDate, char* pStrTime); + + virtual void setLogDataToFile(FILE* pf, _LoggerData* pData); //함수 호출전에 동기화 해야함. [김태현 2018/11/19] + + void resetLogCount(BOOL bWaitWrite = TRUE); + + _LoggerData* GetLogData(int nIdx); //가장 나중에 쓴 로그가 0번 [김태현 2018/11/19] + int GetLogDataNum(){return m_nLogCount<m_nLogBufferSize?m_nLogCount:m_nLogBufferSize;}; //가장 최근이 0 [김태현 2018/11/19] + +public: + int getBufferSize(){return m_nLogBufferSize;}; + int getLogStringLen(){return m_nLogStringLen;}; + +protected: + static void threadLogFileSave(void* pArg); + virtual void funcLogFileSave(); + int m_nThreadFlag; + int m_nFileSaveIndex; + +protected: + int m_nLogBufferSize; + int m_nLogStringLen; + _LoggerData* m_pLogData; + + unsigned long m_nLogCount; + int m_nLogInputIndex; // [김태현 2018/11/19] + int m_nLogWriteIndex; + + + int m_nLogFileType; //0은 기존 모드, 1은 날자가 앞에 있는 모드 + char m_strLogPathName[256]; + char m_strLogFileName[256]; + int m_nLogFileWriteInterval; + + + CRITICAL_SECTION m_csTrace; + +}; -- Gitblit v1.9.3