4 #ifndef FDK_LOGGING_ACTIVE
5 #define FDK_LOGGING_ACTIVE true
9 #define FDK_LOG_LEVEL FDKWarning
13 #if FDK_LOGGING_ACTIVE == true
19 static char log_buffer[512];
20 enum LogLevelFDK {FDKDebug, FDKInfo, FDKWarning, FDKError};
21 static LogLevelFDK minLogLevelFDK = FDKWarning;
23 static const char* levelName(LogLevelFDK level) {
37 static void printLogFDK(
const char*msg){
45 static void printLogFDK(
const char* file,
int line, LogLevelFDK current_level) {
46 const char* file_name = strrchr(file,
'/') ? strrchr(file,
'/') + 1 : file;
47 const char* level_code = levelName(current_level);
49 printLogFDK(level_code);
51 printLogFDK(file_name);
54 snprintf(line_str,20,
"%d",line);
55 printLogFDK(line_str);
57 printLogFDK(log_buffer);
62 #define LOG_FDK(level,...) { if(level>=minLogLevelFDK) { snprintf(log_buffer,512, __VA_ARGS__); printLogFDK(__FILE__,__LINE__, level); } }
65 #define LOG_FDK(FDKDebug, ...)