introduce debug log

This commit is contained in:
andreas 2021-10-24 16:51:47 +02:00
parent 149ffb7a5f
commit 2057b70cb7
3 changed files with 25 additions and 4 deletions

View File

@ -1,7 +1,8 @@
#include "GwLog.h"
GwLog::GwLog(bool logSerial){
GwLog::GwLog(bool logSerial, int level){
this->logSerial=logSerial;
logLevel=level;
}
void GwLog::logString(const char *fmt,...){
va_list args;
@ -11,4 +12,14 @@ void GwLog::logString(const char *fmt,...){
Serial.print("LOG: ");
Serial.println(buffer);
}
}
}
void GwLog::logDebug(int level,const char *fmt,...){
if (level > logLevel) return;
va_list args;
va_start(args,fmt);
vsnprintf(buffer,99,fmt,args);
if (logSerial){
Serial.print("LOG: ");
Serial.println(buffer);
}
}

View File

@ -5,8 +5,17 @@ class GwLog{
private:
char buffer[100];
bool logSerial=false;
int logLevel=1;
public:
GwLog(bool logSerial);
static const int LOG=1;
static const int ERROR=0;
static const int DEBUG=3;
static const int TRACE=2;
GwLog(bool logSerial,int level=LOG);
void logString(const char *fmt,...);
void logDebug(int level, const char *fmt,...);
int isActive(int level){return level <= logLevel;};
};
#define LOG_DEBUG(level,fmt,...){ if (logger->isActive(level)) logger->logDebug(level,fmt,__VA_ARGS__);}
#endif

View File

@ -37,7 +37,8 @@
#include "GwBoatData.h"
GwLog logger(LOG_SERIAL);
GwLog logger(LOG_SERIAL,GwLog::DEBUG);
GwConfigHandler config(&logger);
GwWifi gwWifi(&config,&logger);
GwSocketServer socketServer(&config,&logger);