shareLog.Log4CPP.hpp 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. #pragma once
  2. #include <assert.h>
  3. #include "String.DString.hpp"
  4. //-----------------------------------------------------------------------------
  5. // shareLog 用于与别的模块共享 Logger 对象
  6. // CSXXX 模块可能没有机会初始化 mLog::gLogger 对象, 这种情况下只能与下层的 C++ 模块共享日志
  7. //-----------------------------------------------------------------------------
  8. _declspec(dllimport) Log4CPP::Logger * shareLogger;
  9. namespace mLog
  10. {
  11. inline void NewLine ()
  12. {
  13. if (! shareLogger) return;
  14. shareLogger->NewLine ();
  15. }
  16. template <typename... Args>
  17. inline void Force (const char * fmt, Args && ... args)
  18. {
  19. if (! shareLogger) return;
  20. shareLogger->Force (fmt, std::forward <Args> (args)...);
  21. }
  22. template <typename... Args>
  23. inline void Log (const char * fmt, Args && ... args)
  24. {
  25. if (! shareLogger) return;
  26. shareLogger->Info (fmt, std::forward <Args> (args)...);
  27. }
  28. template <typename... Args>
  29. inline void Trace (const char * fmt, Args && ... args)
  30. {
  31. if (! shareLogger) return;
  32. shareLogger->Trace (fmt, std::forward <Args> (args)...);
  33. }
  34. template <typename... Args>
  35. inline void Debug (const char * fmt, Args && ... args)
  36. {
  37. if (! shareLogger) return;
  38. shareLogger->Debug (fmt, std::forward <Args> (args)...);
  39. }
  40. template <typename... Args>
  41. inline void Info (const char * fmt, Args && ... args)
  42. {
  43. if (! shareLogger) return;
  44. shareLogger->Info (fmt, std::forward <Args> (args)...);
  45. }
  46. template <typename... Args>
  47. inline void Notice (const char * fmt, Args && ... args)
  48. {
  49. if (! shareLogger) return;
  50. shareLogger->Notice (fmt, std::forward <Args> (args)...);
  51. }
  52. template <typename... Args>
  53. inline void Warn (const char * fmt, Args && ... args)
  54. {
  55. if (! shareLogger) return;
  56. shareLogger->Warn (fmt, std::forward <Args> (args)...);
  57. }
  58. template <typename... Args>
  59. inline void Warning (const char * fmt, Args && ... args)
  60. {
  61. if (! shareLogger) return;
  62. shareLogger->Warn (fmt, std::forward <Args> (args)...);
  63. }
  64. template <typename... Args>
  65. inline void Error (const char * fmt, Args && ... args)
  66. {
  67. if (! shareLogger) return;
  68. shareLogger->Error (fmt, std::forward <Args> (args)...);
  69. }
  70. template <typename... Args>
  71. inline void Fatal (const char * fmt, Args && ... args)
  72. {
  73. if (! shareLogger) return;
  74. shareLogger->Fatal (fmt, std::forward <Args> (args)...);
  75. }
  76. inline void Flush (const eSTR::DStringView & str)
  77. {
  78. if (! shareLogger) return;
  79. shareLogger->LogNoFormat (Log4CPP::enInfo, str, str.GetLength (), false);
  80. }
  81. inline void Flush (const eSTR::DString & str)
  82. {
  83. if (! shareLogger) return;
  84. shareLogger->LogNoFormat (Log4CPP::enInfo, str, str.GetLength (), false);
  85. }
  86. inline void LogNoFormat (int Level, const eSTR::DString & str, bool bWithLayout = false)
  87. {
  88. if (! shareLogger) return;
  89. shareLogger->LogNoFormat (Level, str, str.GetLength (), bWithLayout);
  90. }
  91. inline void LogNoFormat (int Level, const char * buf, int len, bool bWithLayout = false)
  92. {
  93. if (! shareLogger) return;
  94. shareLogger->LogNoFormat (Level, buf, len, bWithLayout);
  95. }
  96. inline bool Decide (int Level)
  97. {
  98. if (! shareLogger) return false;
  99. return (shareLogger->Decide (Level));
  100. }
  101. inline void Close ()
  102. {
  103. if (! shareLogger) return;
  104. shareLogger->Close ();
  105. }
  106. inline eSTR::DString ErrorCodeToString (DWORD errorCode)
  107. {
  108. if (! shareLogger) return eSTR::DString ();
  109. return shareLogger->ErrorCodeToString (errorCode);
  110. }
  111. inline int CurrentLevel ()
  112. {
  113. if (! shareLogger) return 0;
  114. return shareLogger->GetLevel ();
  115. }
  116. inline eSTR::DString CurrentLevelName ()
  117. {
  118. if (! shareLogger) return eSTR::DString ();
  119. return shareLogger->LogLevelToString (shareLogger->GetLevel ());
  120. }
  121. };