CLogExportForCSharp.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. #pragma once
  2. #define _CRTDBG_MAP_ALLOC
  3. #include <stdlib.h>
  4. #include <crtdbg.h>
  5. #pragma managed
  6. // 注意: 修改 配置属性->常规->公共语言运行时支持 修改为: 使用公共语言扩展 /clr
  7. #include "MyLogger.h"
  8. #include "COTSUtilityDllFunExport.h"
  9. using namespace System; //for String^
  10. namespace NSLogFunExport
  11. {
  12. //using namespace NSLogFunExport::MethodFunction;
  13. public ref class CFunExportClass
  14. {
  15. public:
  16. CFunExportClass()
  17. {
  18. int tmpFlag = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
  19. tmpFlag |= _CRTDBG_LEAK_CHECK_DF;
  20. _CrtSetDbgFlag(tmpFlag);
  21. //_CrtSetBreakAlloc(8218);
  22. }
  23. ~CFunExportClass()
  24. {
  25. EndLogFile();
  26. }
  27. !CFunExportClass()
  28. {
  29. EndLogFile();
  30. }
  31. void InitLog(String^ LogName)
  32. {
  33. CString cs = CString(LogName);
  34. LPCTSTR lpStr =cs.GetString ();
  35. InitLogFile(lpStr);
  36. }
  37. void EndCSharpLogFile()
  38. {
  39. EndLogFile();
  40. }
  41. // 打印Log信息
  42. BOOL TraceLog(String^ TraceData)
  43. {
  44. CString cs = CString(TraceData);
  45. LPCTSTR lpTraceData = cs.GetString ();
  46. LogTrace(__FILE__, __LINE__, lpTraceData);
  47. return TRUE;
  48. }
  49. // 打印LogError信息
  50. BOOL TraceErrorLog(String^ TraceData)
  51. {
  52. CString cs = CString(TraceData);
  53. LPCTSTR lpTraceData = cs.GetString();
  54. LogErrorTrace(__FILE__, __LINE__, lpTraceData);
  55. return TRUE;
  56. }
  57. // 打印Log二进制信息信息
  58. BOOL LogBinaryDataLog(array<System::Byte>^ byteArray)
  59. {
  60. pin_ptr<System::Byte> LpData = &byteArray[0];
  61. int ilen = byteArray->Length;
  62. LogBinaryTrace("Binary", LpData, ilen);
  63. return TRUE;
  64. }
  65. //延迟时间
  66. BOOL Waiting(int iMilliseconds)
  67. {
  68. WaitingTime(iMilliseconds);
  69. return TRUE;
  70. }
  71. private:
  72. };
  73. }