#ifndef _FW_LOG_H_ #define _FW_LOG_H_ #ifdef __cplusplus extern "C" { #endif #include #include #define LOG_LVL_D 5 #define LOG_LVL_I 4 #define LOG_LVL_W 3 #define LOG_LVL_E 2 #define LOG_LVL_F 1 void _FW_LogDebug(int8_t* fmt, ...); void _FW_LogInfo(int8_t* fmt, ...); void _FW_LogWarn(int8_t* fmt, ...); void _FW_LogError(int8_t* fmt, ...); void _FW_LogFatal(int8_t* fmt, ...); int FW_GetFileLine(const int8_t* __file__, const int __line__); void sys_log_set_lvl(int8_t lvl); #define LOG_F(...) if(FW_GetFileLine(__FILE__, __LINE__)) _FW_LogFatal(__VA_ARGS__) #define LOG_E(...) if(FW_GetFileLine(__FILE__, __LINE__)) _FW_LogError(__VA_ARGS__) #define LOG_W(...) if(FW_GetFileLine(__FILE__, __LINE__)) _FW_LogWarn(__VA_ARGS__) #define LOG_I(...) if(FW_GetFileLine(__FILE__, __LINE__)) _FW_LogInfo( __VA_ARGS__) #define LOG_D(...) if(FW_GetFileLine(__FILE__, __LINE__)) _FW_LogDebug(__VA_ARGS__) #ifdef __cplusplus } #endif #endif