CxxLogger.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #pragma once
  2. #include <stdarg.h>
  3. #include <string>
  4. #include "log4cxx\logger.h"
  5. #include "log4cxx\propertyconfigurator.h"
  6. using namespace std;
  7. #ifdef DRIVERAPI_EXPORTS
  8. #define DRIVERAPI_API __declspec(dllexport)
  9. #else
  10. #define DRIVERAPI_API __declspec(dllimport)
  11. #endif
  12. class CxxLogger
  13. {
  14. public:
  15. CxxLogger(void);
  16. virtual ~CxxLogger(void);
  17. };
  18. DRIVERAPI_API bool __LockBuffer();
  19. DRIVERAPI_API void __UnLockBuffer();
  20. DRIVERAPI_API const wchar_t* __FuncPrintSimpleW(char* function,const wchar_t *format,...) ;
  21. DRIVERAPI_API const wchar_t* __FuncPrintSimpleA(char* function,const char *format,...) ;
  22. DRIVERAPI_API log4cxx::LoggerPtr InitCxxLogger(const wchar_t *pConfigFile,const wchar_t *pConfigOption);
  23. #ifdef _UNICODE
  24. #else
  25. #endif
  26. #define PRINTA_INFO(pLogger,format,...) {\
  27. if(__LockBuffer()) { LOG4CXX_INFO( ((log4cxx::LoggerPtr)pLogger), __FuncPrintSimpleA(__FUNCTION__,format,__VA_ARGS__) ); __UnLockBuffer();}else{LOG4CXX_ERROR( ((log4cxx::LoggerPtr)pLogger), L"log Mutex crashed" );}\
  28. }
  29. #define PRINTA_WARN(pLogger,format,...) {\
  30. if(__LockBuffer()) { LOG4CXX_WARN( ((log4cxx::LoggerPtr)pLogger), __FuncPrintSimpleA(__FUNCTION__,format,__VA_ARGS__) ); __UnLockBuffer();}else{LOG4CXX_ERROR( ((log4cxx::LoggerPtr)pLogger), L"log Mutex crashed" );}\
  31. }
  32. #define PRINTA_DEBUG(pLogger,format,...) {\
  33. if(__LockBuffer()) { LOG4CXX_DEBUG( ((log4cxx::LoggerPtr)pLogger), __FuncPrintSimpleA(__FUNCTION__,format,__VA_ARGS__) ); __UnLockBuffer();}else{LOG4CXX_ERROR( ((log4cxx::LoggerPtr)pLogger), L"log Mutex crashed" );}\
  34. }
  35. #define PRINTA_ERROR(pLogger,format,...) {\
  36. if(__LockBuffer()) { LOG4CXX_ERROR( ((log4cxx::LoggerPtr)pLogger), __FuncPrintSimpleA(__FUNCTION__,format,__VA_ARGS__) ); __UnLockBuffer();}else{LOG4CXX_ERROR( ((log4cxx::LoggerPtr)pLogger), L"log Mutex crashed" );}\
  37. }
  38. #define PRINTA_FATAL(pLogger,format,...) {\
  39. if(__LockBuffer()) { LOG4CXX_FATAL( ((log4cxx::LoggerPtr)pLogger), __FuncPrintSimpleA(__FUNCTION__,format,__VA_ARGS__) ); __UnLockBuffer();}else{LOG4CXX_ERROR( ((log4cxx::LoggerPtr)pLogger), L"log Mutex crashed" );}\
  40. }
  41. #define PRINTW_INFO(pLogger,format,...) {\
  42. if(__LockBuffer()) { LOG4CXX_INFO( ((log4cxx::LoggerPtr)pLogger), __FuncPrintSimpleW(__FUNCTION__,format,__VA_ARGS__) ); __UnLockBuffer();}else{LOG4CXX_ERROR( ((log4cxx::LoggerPtr)pLogger), L"log Mutex crashed" );}\
  43. }
  44. #define PRINTW_WARN(pLogger,format,...) {\
  45. if(__LockBuffer()) { LOG4CXX_WARN( ((log4cxx::LoggerPtr)pLogger), __FuncPrintSimpleW(__FUNCTION__,format,__VA_ARGS__) ); __UnLockBuffer();}else{LOG4CXX_ERROR( ((log4cxx::LoggerPtr)pLogger), L"log Mutex crashed" );}\
  46. }
  47. #define PRINTW_DEBUG(pLogger,format,...) {\
  48. if(__LockBuffer()) { LOG4CXX_DEBUG( ((log4cxx::LoggerPtr)pLogger), __FuncPrintSimpleW(__FUNCTION__,format,__VA_ARGS__) ); __UnLockBuffer();}else{LOG4CXX_ERROR( ((log4cxx::LoggerPtr)pLogger), L"log Mutex crashed" );}\
  49. }
  50. #define PRINTW_ERROR(pLogger,format,...) {\
  51. if(__LockBuffer()) { LOG4CXX_ERROR( ((log4cxx::LoggerPtr)pLogger), __FuncPrintSimpleW(__FUNCTION__,format,__VA_ARGS__) ); __UnLockBuffer();}else{LOG4CXX_ERROR( ((log4cxx::LoggerPtr)pLogger), L"log Mutex crashed" );}\
  52. }
  53. #define PRINTW_FATAL(pLogger,format,...) {\
  54. if(__LockBuffer()) { LOG4CXX_FATAL( ((log4cxx::LoggerPtr)pLogger), __FuncPrintSimpleW(__FUNCTION__,format,__VA_ARGS__) ); __UnLockBuffer();}else{LOG4CXX_ERROR( ((log4cxx::LoggerPtr)pLogger), L"log Mutex crashed" );}\
  55. }