sys_log.h 987 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef _FW_LOG_H_
  2. #define _FW_LOG_H_
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include <stdio.h>
  7. #include <stdarg.h>
  8. #define LOG_LVL_D 5
  9. #define LOG_LVL_I 4
  10. #define LOG_LVL_W 3
  11. #define LOG_LVL_E 2
  12. #define LOG_LVL_F 1
  13. void _FW_LogDebug(int8_t* fmt, ...);
  14. void _FW_LogInfo(int8_t* fmt, ...);
  15. void _FW_LogWarn(int8_t* fmt, ...);
  16. void _FW_LogError(int8_t* fmt, ...);
  17. void _FW_LogFatal(int8_t* fmt, ...);
  18. int FW_GetFileLine(const int8_t* __file__, const int __line__);
  19. void sys_log_set_lvl(int8_t lvl);
  20. #define LOG_F(...) if(FW_GetFileLine(__FILE__, __LINE__)) _FW_LogFatal(__VA_ARGS__)
  21. #define LOG_E(...) if(FW_GetFileLine(__FILE__, __LINE__)) _FW_LogError(__VA_ARGS__)
  22. #define LOG_W(...) if(FW_GetFileLine(__FILE__, __LINE__)) _FW_LogWarn(__VA_ARGS__)
  23. #define LOG_I(...) if(FW_GetFileLine(__FILE__, __LINE__)) _FW_LogInfo( __VA_ARGS__)
  24. #define LOG_D(...) if(FW_GetFileLine(__FILE__, __LINE__)) _FW_LogDebug(__VA_ARGS__)
  25. #ifdef __cplusplus
  26. }
  27. #endif
  28. #endif