MT5APILogger.h 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. //+------------------------------------------------------------------+
  2. //| MetaTrader 5 API |
  3. //| Copyright 2000-2019, MetaQuotes Software Corp. |
  4. //| http://www.metaquotes.net |
  5. //+------------------------------------------------------------------+
  6. #pragma once
  7. //+------------------------------------------------------------------+
  8. //| Logger type codes |
  9. //+------------------------------------------------------------------+
  10. enum EnMTLogCode
  11. {
  12. MTLogFolder =-1,
  13. MTLogOK =0,
  14. MTLogWarn =1,
  15. MTLogErr =2,
  16. MTLogAtt =3,
  17. MTLogLogin =4,
  18. //--- enumeration borders
  19. MTLogFirst =MTLogFolder,
  20. MTLogLast =MTLogLogin
  21. };
  22. //+------------------------------------------------------------------+
  23. //| Logger message types |
  24. //+------------------------------------------------------------------+
  25. enum EnMTLogType
  26. {
  27. MTLogTypeAll =0,
  28. MTLogTypeCfg =1,
  29. MTLogTypeSys =2,
  30. MTLogTypeNet =3,
  31. MTLogTypeHst =4,
  32. MTLogTypeUser =5,
  33. MTLogTypeTrade =6,
  34. MTLogTypeAPI =7,
  35. MTLogTypeNotify =8,
  36. //--- external tools logs
  37. MTLogTypeLiveUpdate =16,
  38. MTLogTypeSendMail =17,
  39. //--- enumeration borders
  40. MTLogTypeFirst =MTLogTypeAll,
  41. MTLogTypeLast =MTLogTypeSendMail
  42. };
  43. //+------------------------------------------------------------------+
  44. //| Logger request modes |
  45. //+------------------------------------------------------------------+
  46. enum EnMTLogRequestMode
  47. {
  48. MTLogModeStd =0,
  49. MTLogModeErr =1,
  50. MTLogModeFull =2,
  51. //--- enumeration borders
  52. MTLogModeFirst =MTLogModeStd,
  53. MTLogModeLast =MTLogModeFull
  54. };
  55. //+------------------------------------------------------------------+
  56. //| Logger record flags |
  57. //+------------------------------------------------------------------+
  58. enum EnMTLogFlags
  59. {
  60. LOG_FLAGS_NONE =0, // none
  61. LOG_FLAGS_CORRUPTED =1, // record has invalid checksum (record corrupted)
  62. //--- enumeration borders
  63. LOG_FLAGS_FIRST =LOG_FLAGS_NONE,
  64. LOG_FLAGS_ALL =LOG_FLAGS_CORRUPTED
  65. };
  66. //+------------------------------------------------------------------+
  67. //| Log record structure |
  68. //+------------------------------------------------------------------+
  69. #pragma pack(push,1)
  70. struct MTLogRecord
  71. {
  72. UINT flags; // flags EnMTLogFlags
  73. INT code; // code EnMTLogCode
  74. UINT type; // type EnMTLogType
  75. INT64 datetime; // record time
  76. wchar_t source[64]; // record source
  77. wchar_t message[512]; // record message
  78. INT64 datetime_msc; // record time in milliseconds since 1970.01.01
  79. int reserved[2]; // reserved
  80. };
  81. #pragma pack(pop)
  82. //+------------------------------------------------------------------+