CLog.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #include <android/log.h>
  2. #include <errno.h>
  3. #include <string>
  4. #include <sys/stat.h>
  5. #include "CLogDefine.h"
  6. #if 0
  7. #define ALOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__ )
  8. #define ALOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__ )
  9. #define ALOGW(...) __android_log_print(ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__ )
  10. #define ALOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)
  11. #define ALOGF(...) __android_log_print(ANDROID_LOG_FATAL, LOG_TAG, __VA_ARGS__)
  12. #else
  13. #define ALOGD(...)
  14. #define ALOGI(...)
  15. #define ALOGW(...)
  16. #define ALOGE(...)
  17. #define ALOGF(...)
  18. #endif
  19. class Logger {
  20. public:
  21. Logger();
  22. /**
  23. * 初始化日志选项
  24. * \param pFilePath 日志路径
  25. * \param filename 日志名称
  26. * \param logLevel 日志级别
  27. * \param printScreen 打印的级别
  28. * \return
  29. */
  30. int _LogInit(const char* pFilePath, int logLevel, int printScreen);
  31. /**
  32. * 写日志
  33. * \param level
  34. * \param strFormat
  35. * \param ...
  36. */
  37. void WriteTextLog(int level, const char* strFormat, ...);
  38. /**
  39. * 向文件中写入日志
  40. * \param level
  41. * \param log
  42. */
  43. void WriteTextLogBottom(int level, const char* timeStr, const char* levelInfor, const char* log);
  44. /**
  45. * 关闭日志库
  46. */
  47. void _LogClose();
  48. private:
  49. int g_RollingPtr;
  50. int g_log_file_level;
  51. int g_log_screen_level;
  52. std::string g_logFilePath;
  53. char* g_log_info;
  54. FILE* _fp;
  55. };