LogLocalHelper.h 1.1 KB

12345678910111213141516171819202122232425262728
  1. // LogLocalHelper.h
  2. #ifndef LOG_LOCAL_HELPER_H
  3. #define LOG_LOCAL_HELPER_H
  4. #include <string>
  5. #include "Log4CPP.h"
  6. void FPDDemoSetLocalModuleName(const std::string& moduleName);
  7. const std::string& FPDDemoGetLocalModuleName();
  8. // 重定义日志宏:使用当前动态库的局部模块名getLocalModuleName()
  9. #define LOG(level, format, ...) \
  10. do { \
  11. const std::string& localModule = FPDDemoGetLocalModuleName(); \
  12. LogInstance* logger = LogManager::getInstance().getInstance(localModule); \
  13. if (logger && logger->isInitialized()) { \
  14. logger->log(log4cpp::Priority::level, __FILE__, __LINE__, __FUNCTION__, format, ##__VA_ARGS__); \
  15. } else { \
  16. std::cerr << "[" << localModule << "] Logger not initialized or module not found!" << std::endl; \
  17. } \
  18. } while(0)
  19. // 保留原有的级别宏(无需修改,依赖重定义后的LOG)
  20. #define FDEBUG(format, ...) LOG(DEBUG, format, ##__VA_ARGS__)
  21. #define FINFO(format, ...) LOG(INFO, format, ##__VA_ARGS__)
  22. #define FWARN(format, ...) LOG(WARN, format, ##__VA_ARGS__)
  23. #define FERROR(format, ...) LOG(ERROR, format, ##__VA_ARGS__)
  24. #endif // LOG_LOCAL_HELPER_H