/** * @file logger.h * @brief cppSimpleLogger Header * @author hendrik schutter * @date 04.09.2020 */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define MENU_LINE_SIZE 110 //Size of menu lines struct sID { string description; string deviceID; string softwareID; string hardwareID; }; class Logger { private: string logPath; mutex mtxLog; string getTimestamp(); void writeLog(string s); string getMacAddress(); string padStringMenu(char cBorder, string text, uint8_t u8LineLenght); string menuLine(char cBorder, uint8_t u8LineLenght); public: Logger(string pLogPath, struct sID id); ~Logger(); void info(string s); void warning(string s); void error(string s); void newLine(); };