mp_flipper_logging.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include <furi.h>
  2. #include <mp_flipper_logging.h>
  3. #include <mp_flipper_runtime.h>
  4. #include "mp_flipper_context.h"
  5. static inline FuriLogLevel decode_log_level(uint8_t level) {
  6. switch(level) {
  7. case MP_FLIPPER_LOG_LEVEL_TRACE:
  8. return FuriLogLevelTrace;
  9. case MP_FLIPPER_LOG_LEVEL_DEBUG:
  10. return FuriLogLevelDebug;
  11. case MP_FLIPPER_LOG_LEVEL_INFO:
  12. return FuriLogLevelInfo;
  13. case MP_FLIPPER_LOG_LEVEL_WARN:
  14. return FuriLogLevelWarn;
  15. case MP_FLIPPER_LOG_LEVEL_ERROR:
  16. return FuriLogLevelError;
  17. case MP_FLIPPER_LOG_LEVEL_NONE:
  18. return FuriLogLevelNone;
  19. default:
  20. return FuriLogLevelNone;
  21. }
  22. }
  23. inline uint8_t mp_flipper_log_get_effective_level() {
  24. switch(furi_log_get_level()) {
  25. case FuriLogLevelTrace:
  26. return MP_FLIPPER_LOG_LEVEL_TRACE;
  27. case FuriLogLevelDebug:
  28. return MP_FLIPPER_LOG_LEVEL_DEBUG;
  29. case FuriLogLevelInfo:
  30. return MP_FLIPPER_LOG_LEVEL_INFO;
  31. case FuriLogLevelWarn:
  32. return MP_FLIPPER_LOG_LEVEL_WARN;
  33. case FuriLogLevelError:
  34. return MP_FLIPPER_LOG_LEVEL_ERROR;
  35. case FuriLogLevelNone:
  36. return MP_FLIPPER_LOG_LEVEL_NONE;
  37. default:
  38. return MP_FLIPPER_LOG_LEVEL_NONE;
  39. }
  40. }
  41. inline void mp_flipper_log(uint8_t raw_level, const char* message) {
  42. FuriLogLevel level = decode_log_level(raw_level);
  43. furi_log_print_format(level, "uPython", message);
  44. }