#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;
|
|
};
|