sp_dbg.c 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #include "precompile.h"
  2. #include "sp_dbg_export.h"
  3. #include "sp_def.h"
  4. #include "sp_dir.h"
  5. #include "log.h"
  6. #include <stdarg.h>
  7. #include "fileutil.h"
  8. #include <winpr/string.h>
  9. static char g_inst[128] = {0};
  10. static int g_initialized = 0;
  11. int sp_dbg_init(const char *key)
  12. {
  13. int rc;
  14. rc = xlog_init(NULL);
  15. if (rc == 0) {
  16. char t[MAX_PATH] = {'\0'};
  17. char drivePath[_MAX_DRIVE] = { '\0' };
  18. sp_dir_get_cur_drive(drivePath);
  19. strncpy(g_inst, key, sizeof(g_inst) - 1);
  20. sprintf(t, "%s" SPLIT_SLASH_STR "rvc" SPLIT_SLASH_STR "dbg" SPLIT_SLASH_STR "%s" SPLIT_SLASH_STR "{yyyy}{MM}{dd}.log",drivePath, key);
  21. rc = xlog_add_logger(key,
  22. "periodic",
  23. "level", "All",
  24. "use_lock", "1",
  25. "file", t,
  26. NULL);
  27. }
  28. if (rc == 0) {
  29. g_initialized = 1;
  30. return rc;
  31. } else {
  32. return Error_Param;
  33. }
  34. }
  35. int sp_dbg_term()
  36. {
  37. if (g_initialized) {
  38. g_initialized = 0;
  39. return xlog_term();
  40. } else {
  41. return Error_Unexpect;
  42. }
  43. }
  44. void sp_dbg_log(int level, const char *str, va_list arg)
  45. {
  46. xlog_log_v(g_inst, level, str, arg);
  47. }
  48. void sp_dbg_trace(const char *str, ...)
  49. {
  50. if (g_initialized) {
  51. va_list arg;
  52. va_start(arg, str);
  53. sp_dbg_log(XLOG_LEVEL_TRACE, str, arg);
  54. va_end(arg);
  55. }
  56. }
  57. void sp_dbg_debug(const char *str, ...)
  58. {
  59. if (g_initialized) {
  60. va_list arg;
  61. va_start(arg, str);
  62. sp_dbg_log(XLOG_LEVEL_DEBUG, str, arg);
  63. va_end(arg);
  64. }
  65. }
  66. void sp_dbg_info(const char *str, ...)
  67. {
  68. if (g_initialized) {
  69. va_list arg;
  70. va_start(arg, str);
  71. sp_dbg_log(XLOG_LEVEL_INFO, str, arg);
  72. va_end(arg);
  73. }
  74. }
  75. void sp_dbg_warn(const char *str, ...)
  76. {
  77. if (g_initialized) {
  78. va_list arg;
  79. va_start(arg, str);
  80. sp_dbg_log(XLOG_LEVEL_WARN, str, arg);
  81. va_end(arg);
  82. }
  83. }
  84. void sp_dbg_error(const char *str, ...)
  85. {
  86. if (g_initialized) {
  87. va_list arg;
  88. va_start(arg, str);
  89. sp_dbg_log(XLOG_LEVEL_ERROR, str, arg);
  90. va_end(arg);
  91. }
  92. }
  93. void sp_dbg_fatal(const char *str, ...)
  94. {
  95. if (g_initialized) {
  96. va_list arg;
  97. va_start(arg, str);
  98. sp_dbg_log(XLOG_LEVEL_FATAL, str, arg);
  99. va_end(arg);
  100. }
  101. }