log_process_module.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #include "log_process_module.h"
  2. #include "./system_basic_info/SystemAnalysis.h"
  3. #include <iostream>
  4. #include <time.h>
  5. #include <string.h>
  6. #include "mylog/MyLog.h"
  7. #pragma warning(disable:4267)
  8. #pragma warning(disable:4996)
  9. using namespace std;
  10. log4cpp::Appender *appender[LOG_FILE_NUM];
  11. log4cpp::Layout *layout[LOG_FILE_NUM];
  12. log4cpp::Category* category[LOG_FILE_NUM];
  13. char* log_file_name[LOG_FILE_NUM] = {"./sys/syslog.txt"};
  14. //char* log_file_name[LOG_FILE_NUM] = {"d:/sys/syslog.txt"};
  15. char* log_appender_name[LOG_FILE_NUM] = {"syslog"};
  16. char* log_category_name[LOG_FILE_NUM] = {"syslog"};
  17. int log_module_init(void)
  18. {
  19. UINT32 i = 0;
  20. if (!MyLog::IsDirExist("./sys"))
  21. MyLog::CreateDir("./sys");
  22. for(i=0; i<LOG_FILE_NUM; i++)
  23. {
  24. //appender[i] = new log4cpp::FileAppender(log_appender_name[i], log_file_name[i]);
  25. appender[i] = new log4cpp::RollingFileAppender("runing_sys_log", log_file_name[i], ROLLING_LOG_FILE_SIZE, ROLLING_LOG_FILE_NUM);
  26. layout[i] = new log4cpp::SimpleLayout();
  27. category[i] = &(log4cpp::Category::getInstance(log_category_name[i]));
  28. appender[i]->setLayout(layout[i]);
  29. category[i]->setAppender(appender[i]);
  30. category[i]->setPriority(log4cpp::Priority::INFO);
  31. }
  32. return 0;
  33. }
  34. int sys_log_print(UINT debugLevel, UINT logFileIndex, char* logStr)
  35. {
  36. if(NULL == logStr)
  37. {
  38. return 0;
  39. }
  40. char buffer[LOG_BUF_SIZE + 50] = {0};
  41. const time_t t = time(NULL);
  42. struct tm* current_time = localtime(&t);
  43. sprintf(buffer, "[%4d-%02d-%02d %02d:%02d:%02d]",
  44. current_time->tm_year + 1900,
  45. current_time->tm_mon + 1,
  46. current_time->tm_mday,
  47. current_time->tm_hour,
  48. current_time->tm_min,
  49. current_time->tm_sec);
  50. strcat (buffer, logStr);
  51. switch (debugLevel)
  52. {
  53. case SYS_LOG_INFO:
  54. category[logFileIndex]->info(buffer);
  55. break;
  56. case SYS_LOG_WARNING:
  57. category[logFileIndex]->warn(buffer);
  58. break;
  59. case SYS_LOG_ERROR:
  60. category[logFileIndex]->error(buffer);
  61. break;
  62. default:
  63. category[logFileIndex]->info(buffer);
  64. }
  65. return 0;
  66. }
  67. int debug_print(UINT debugLevel, char* logStr)
  68. {
  69. LOCATION_SYSTEM_BRANCH(LOCATION_SYSTEM_BRANCH_305);
  70. sys_log_print(debugLevel, 0, logStr);
  71. return 0;
  72. }