Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

45 рядки
1.3 KiB

  1. #pragma once
  2. //#define DISABLE_LOGGING 1
  3. #include <ArduinoLog.h>
  4. #include <SIMComAT.Common.h> //reusing flash string utilities
  5. #include "Config.h"
  6. #define LOG_SERIAL_SPEED 115200
  7. #if _DEBUG
  8. #define LOG_LEVEL LOG_LEVEL_VERBOSE
  9. #define LOG_LEVEL_VERBOSE_ENABLED
  10. #define LOG_LEVEL_NOTICE_ENABLED
  11. #else
  12. #define LOG_LEVEL LOG_LEVEL_NOTICE
  13. #define LOG_LEVEL_NOTICE_ENABLED
  14. #endif
  15. #define NL "\n"
  16. #define LOG(level) LOG_MSG(level, "")
  17. #define LOG_MSG(level, msg) Log.level(F("[" CURRENT_LOGGER "::" CURRENT_LOGGER_FUNCTION "] " msg NL))
  18. #define LOG_FORMAT(level, msg, ...) Log.level(F("[" CURRENT_LOGGER "::" CURRENT_LOGGER_FUNCTION "] " msg NL), __VA_ARGS__)
  19. #if defined(LOG_LEVEL_VERBOSE_ENABLED)
  20. #define VERBOSE LOG(verbose)
  21. #define VERBOSE_MSG(msg) LOG_MSG(verbose, msg)
  22. #define VERBOSE_FORMAT(msg, ...) LOG_FORMAT(verbose, msg, __VA_ARGS__)
  23. #else
  24. #define VERBOSE
  25. #define VERBOSE_MSG(msg)
  26. #define VERBOSE_FORMAT(msg, ...)
  27. #endif
  28. #if defined(LOG_LEVEL_NOTICE_ENABLED)
  29. #define NOTICE LOG(notice)
  30. #define NOTICE_MSG(msg) LOG_MSG(notice, msg)
  31. #define NOTICE_FORMAT(msg, ...) LOG_FORMAT(notice, msg, __VA_ARGS__)
  32. #else
  33. #define NOTICE
  34. #define NOTICE_MSG(msg)
  35. #define NOTICE_FORMAT(msg, ...)
  36. #endif
  37. namespace logging {
  38. void setup();
  39. }