LHQLogAPI.cpp 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #include "LHQLogAPI.h"
  2. #include <QTime>
  3. // #include "./External/Core/MyDebugLog.h"
  4. CLHQLogApi g_apiLhQLog;
  5. void WRITE_LOG(QString log)
  6. {
  7. int idx = log.indexOf(QLatin1String("]"));
  8. QString msg = idx >= 0 ? log.mid(idx + 1) : log;
  9. #ifdef QT_NO_DEBUG
  10. g_apiLhQLog.DoWriteLog(ELT_Log_Common, msg);
  11. #else
  12. log.insert(idx+1, QTime::currentTime().toString("hh:mm:ss.zzz"));
  13. // LOG(log);
  14. #endif
  15. }
  16. void WRITE_ERROR(QString log)
  17. {
  18. int idx = log.indexOf(QLatin1String("]"));
  19. QString msg = idx >= 0 ? log.mid(idx + 1) : log;
  20. #ifdef QT_NO_DEBUG
  21. g_apiLhQLog.DoWriteLog(ELT_Log_Error, msg);
  22. #else
  23. log.insert(idx+1, QTime::currentTime().toString("hh:mm:ss.zzz"));
  24. // LOG(log);
  25. #endif
  26. }
  27. void WRITE_LOG_DEBUG(QString log)
  28. {
  29. int idx = log.indexOf(QLatin1String("]"));
  30. QString msg = idx >= 0 ? log.mid(idx + 1) : log;
  31. #ifdef QT_NO_DEBUG
  32. g_apiLhQLog.DoWriteLog(ELT_Log_Debug, msg);
  33. #else
  34. log.insert(idx+1, QTime::currentTime().toString("hh:mm:ss.zzz"));
  35. // LOG(log);
  36. #endif
  37. }
  38. CLHQLogApi::CLHQLogApi()
  39. {
  40. fnDoInitial = nullptr;
  41. fnDoWriteLog = nullptr;
  42. fnDoWriteFileLog = nullptr;
  43. }
  44. CLHQLogApi::~CLHQLogApi()
  45. {
  46. m_QLib.unload();
  47. }
  48. bool CLHQLogApi::Load(QString file)
  49. {
  50. m_QLib.setFileName(file);
  51. if (!m_QLib.load())
  52. {
  53. qDebug() << QString("Liberal %1 load failed!").arg(file);
  54. //LOG(QString("模块%1加载失败-1").arg(file));
  55. return false;
  56. }
  57. // qDebug() << QString("Liberal %1 load success!").arg(file);
  58. fnDoInitial = (FunDoInitial)m_QLib.resolve("Initial");
  59. fnDoWriteLog = (FunDoWriteLog)m_QLib.resolve("WriteLog");
  60. fnDoWriteFileLog = (FunDoWriteFileLog)m_QLib.resolve("WriteFileLog");
  61. if(fnDoInitial == nullptr || fnDoWriteLog == nullptr || fnDoWriteFileLog == nullptr)
  62. {
  63. //LOG(QString("模块%1加载失败,接口错误-2").arg(file));
  64. return false;
  65. }
  66. return true;
  67. }
  68. int CLHQLogApi::DoInitial(QString strLogName)
  69. {
  70. m_strLogName = strLogName;
  71. if(fnDoInitial == nullptr) return -1;
  72. return fnDoInitial(strLogName.toUtf8());
  73. }
  74. int CLHQLogApi::DoWriteLogEx(QString strLogName, int nLogType, QString strLog)
  75. {
  76. if(fnDoWriteLog == nullptr) return -1;
  77. return fnDoWriteLog(strLogName.toUtf8(), nLogType, strLog.toUtf8());
  78. }
  79. int CLHQLogApi::DoWriteLog(int nLogType, QString strLog)
  80. {
  81. if(fnDoWriteLog == nullptr) return -1;
  82. return fnDoWriteLog(m_strLogName.toUtf8(), nLogType, strLog.toUtf8());
  83. }
  84. int CLHQLogApi::DoWriteFileLog(QString strLogFilePath, QString strLog)
  85. {
  86. if(fnDoWriteFileLog == nullptr) return -1;
  87. return fnDoWriteFileLog(strLogFilePath.toUtf8(), strLog.toUtf8());
  88. }