12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #pragma once
- #include <afxmt.h>
- enum TRACER_TYPE
- {
- TRACER_OPE_PROGRESS = 0 /**< To indicate progress of operation. */
- , TRACER_OPE_ERROR = 1 /**< To indicate Error is happened. */
- , TRACER_OPE_EXCEPTION = 2 /**< To indicate exceptions. */
- , TRACER_OPE_MESSAGE = 3 /**< To indicate message display. */
- };
- #define TRACER_OPE_PROGRESS_STR _T("_TRACE_: ")/**< To indicate progress of operation. */
- #define TRACER_OPE_ERROR_STR _T("_ERROR_: ")/**< To indicate Error is happened. */
- #define TRACER_OPE_EXCEPTION_STR _T("_EXCEPT_: ")/**< To indicate exceptions. */
- #define TRACER_OPE_MESSAGE_STR _T("_MSG_: ")/**< To indicate message display */
- class CCLogFile
- {
- public:
- CCLogFile(LPCTSTR szFileName, bool bLogNeedManage = true);
- ~CCLogFile();
- public:
- void Print(LPCTSTR szData, ...);
- void Print(TRACER_TYPE nType, LPCTSTR szData, ...);
- void TraceProgress(LPCTSTR szFile, long lLine, LPCTSTR szData, ...);
- void TraceError(LPCTSTR szFile, long lLine, LPCTSTR szData, ...);
- void TraceException(LPCTSTR szFile, long lLine, LPCTSTR szData, ...);
- void TraceMessage(LPCTSTR szFile, long lLine, LPCTSTR szData, ...);
- void LogBinaryData(LPCTSTR szHead, BYTE* pbyData, UINT nLen);
- CString WChar2Ansi(LPCTSTR pwszSrc);
- CString StringToWString(const CString& s);
- private: // Methods.
- void LogFile(LPCTSTR szData);
- void PrintV(LPCTSTR pszFormat, va_list pArgList);
- void PrintV(TRACER_TYPE nType, LPCTSTR pszFormat, va_list pArgList);
- bool CheckFilePath(const CString& strPath);
- HANDLE CreateLogFile(const CString& str);
- private: // Data.
- CString m_szFile;
- ///@cond CHS
- ///临界区变量
- ///@endcond
- ///@cond ENG
- ///Critical Section for text log
- ///@endcond
- CCriticalSection m_csLog;
- ///@cond CHS
- ///记录二进制数据临界区变量
- ///@endcond
- ///@cond ENG
- ///Critical Section for binary log
- ///@endcond
- CCriticalSection m_csBinLog;
- ///@cond CHS
- ///日志文件名是否已经提交到LogManager
- ///@endcond
- ///@cond ENG
- ///Log filename commit to LogManager flag
- ///@endcond
- bool m_bFileNameCommited;
- };
- class CUtilityTools
- {
- public:
- CUtilityTools(){}
- ~CUtilityTools()
- {
- }
- public:
- void WaitingWithEventLoop(int iWaitTime);
- };
|