razor_log.c 643 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include "razor_log.h"
  2. #include "razor_api.h"
  3. #include "../common/cf_platform.h"
  4. static razor_log_func g_log_cb = NULL;
  5. static void *g_log_user_data = NULL;
  6. void ex_razor_log(int level, const char* file, int line, const char *fmt, ...)
  7. {
  8. va_list vl;
  9. if (g_log_cb != NULL) {
  10. va_start(vl, fmt);
  11. g_log_cb(g_log_user_data, level, file, line, fmt, vl);
  12. va_end(vl);
  13. }
  14. }
  15. void razor_setup_log(razor_log_func log_cb, void *user_data)
  16. {
  17. if (log_cb) {
  18. g_log_cb = log_cb;
  19. g_log_user_data = user_data;
  20. } else {
  21. g_log_cb = NULL;
  22. g_log_user_data = NULL;
  23. }
  24. }
  25. void razor_unsetup_log()
  26. {
  27. g_log_cb = NULL;
  28. g_log_user_data = NULL;
  29. }