SDC C-Project CF Review 프로그램
kojingeun
2023-11-24 c112cf54a238afa473e7eb0ea6298e06f4957658
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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;
    
};