LogFile.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. // LogFile.h: interface for the CLogFile class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_LOGFILE_H__D0F5F8AB_175E_4D21_A8F0_B4FACD2709DA__INCLUDED_)
  5. #define AFX_LOGFILE_H__D0F5F8AB_175E_4D21_A8F0_B4FACD2709DA__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include <string>
  10. class CLogFile  
  11. {
  12. public:
  13. CLogFile();
  14. virtual ~CLogFile();
  15. public:
  16. BOOL Initialize(const std::string& root, size_t threshold);
  17. BOOL Uninitialize();
  18. ULONG BeginBatch();
  19. ULONG EndBatch();
  20. BOOL IsBatched();
  21. size_t TraceLog(const void* pData, size_t size);
  22. private:
  23. enum {
  24. CH_SEPARATOR = '\',
  25. CH_EXTSPLIT = '~',
  26. };
  27. std::string m_strRoot;
  28. size_t m_threshold;
  29. HANDLE m_hFile;
  30. ULONG m_lBatch;
  31. private:
  32. BOOL PrepareFile();
  33. static BOOL OpenUniDirectory(const std::string& dirname, std::string* pNewdir);
  34. static HANDLE CreateUniFile(const std::string& filename, std::string* pNewfile);
  35. };
  36. #endif // !defined(AFX_LOGFILE_H__D0F5F8AB_175E_4D21_A8F0_B4FACD2709DA__INCLUDED_)