cppSimpleLogger/logger.h

59 lines
1.1 KiB
C++

/**
* @file logger.h
* @brief cppSimpleLogger Header
* @author hendrik schutter
* @date 04.09.2020
*/
#include <time.h>
#include <string.h>
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <errno.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <net/if.h>
#include <unistd.h>
#include <sys/time.h>
#include <math.h>
#include <mutex>
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();
};