诸暨麻将添加redis
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 
 

70 rindas
2.3 KiB

  1. #pragma once
  2. #include "StdAfx.h"
  3. #include <unordered_map>
  4. #include <process.h>
  5. #define WRITE_LOG Commend::WriteLog
  6. #define LOG_LEVEL_DEBUG Commend::ENUM_LOG_LEVEL_DEBUG //调试信息
  7. #define LOG_LEVEL_RUNRUN Commend::ENUM_LOG_LEVEL_RUN //代码业务逻辑
  8. #define LOG_LEVEL_RUNRUNERROR Commend::ENUM_LOG_LEVEL_RUNERROR //代码业务逻辑错误
  9. #define LOG_LEVEL_ERROR Commend::ENUM_LOG_LEVEL_ERROR //代码的错误
  10. #define WELCOME_LOG_INFO _T("\r\n################日志记录开始################\r\n")
  11. class Commend
  12. {
  13. private:
  14. // 日志写入器的状态
  15. enum enLogStatus
  16. {
  17. ENUM_LOG_INIT,
  18. ENUM_LOG_RUN,
  19. ENUM_LOG_EXITING,
  20. ENUM_LOG_EXITED,
  21. ENUM_LOG_INVALID,
  22. };
  23. // 日志级别
  24. enum enLogInfoLevel
  25. {
  26. ENUM_LOG_LEVEL_DEBUG = 0,
  27. ENUM_LOG_LEVEL_RUN,
  28. ENUM_LOG_LEVEL_RUNERROR,
  29. ENUM_LOG_LEVEL_ERROR,
  30. };
  31. static HANDLE m_hThread; // 线程句柄
  32. static unsigned m_uiThreadID; // 线程id
  33. static enLogStatus m_enStatus; // 当前log写入器的状态
  34. static bool m_bRun; // 当前log写入器是否结束
  35. static int m_iLogLevel; // 当前写日志的级别
  36. //static HANDLE m_hMapLogFile; //映射到共享内存中
  37. //static LPTSTR m_psMapAddr; //映射到共享内存到程序内存的地址
  38. static CString m_Patch;
  39. public:
  40. Commend();
  41. ~Commend();
  42. //锁
  43. static CCriticalSection m_CriticalSection; //线程锁
  44. //参数转成字符串
  45. static CString ToString(WORD wMainCmdID, WORD wCmdTable, const void* pBuffer);
  46. //名字
  47. static CString ToName(WORD wMainCmdID, WORD wCmdTable, PVOID pGetGameString = NULL);
  48. //名字
  49. static CString ToNameEx(WORD wMainCmdID, WORD wCmdTable, const void* pBuffer, int iLen, void* pGetGameString = NULL);
  50. //打印通讯日志
  51. static void ToShow(VOID* Frame, WORD wMainCmdID, WORD wCmdTable, const void* pBuffer, int iLen, DWORD dTablePrivate = 0, DWORD dUserID = 0, PVOID pGetGameString = NULL,bool bSend = true);
  52. public:
  53. //日志信息
  54. static std::unordered_map<DWORD, CString> Log; //桌子ID,内容
  55. //添加日志
  56. static void AddLog(DWORD dPriateTable, CString LogText);
  57. //获取日志
  58. static std::unordered_map<DWORD, CString> GetLog();
  59. //运行
  60. static unsigned __stdcall LogRuns(void* pParam);
  61. static CString& GetCurTimeStr();
  62. static int WriteUnicodeHeadToFile(CStdioFile* pFile);
  63. };