SDC C-Project CF Review 프로그램
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;
};