Created logging system

This commit is contained in:
Alex Alvarado
2022-05-17 12:05:38 +02:00
parent ca771e536b
commit b6602533ea
2 changed files with 51 additions and 0 deletions

24
include/logger.cpp Normal file
View File

@ -0,0 +1,24 @@
#include "logger.hpp"
#ifndef LoggerClassB
#define LoggerClassB
String *Logger::LevelHeaders = new String[7]{"", "Trace", "Debug", "Info", "Warn", "Error", "Fatal"};
Logger::Level Logger::MinLevel = DefaultLogLevel;
GenericArray<KeyValuePair<Logger::Level, String>> Logger::LogBook = GenericArray<KeyValuePair<Level, String>>();
void Logger::Log(Level level, String message)
{
String line = '[' + Logger::LevelHeaders[level] + ']' + ' ' + message;
LogBook.Append(KeyValuePair<Level, String>(level, line));
if (level >= MinLevel)
Serial.println(line);
}
void Logger::Log(String message)
{
String line = '[' + Logger::LevelHeaders[Level::INFO] + ']' + ' ' + message;
LogBook.Append(KeyValuePair<Level, String>(Level::INFO, line));
Serial.println(line);
}
#endif

27
include/logger.hpp Normal file
View File

@ -0,0 +1,27 @@
#include <WString.h>
#include "GenericArray.hpp"
#include "KeyValuePair.hpp"
#ifndef LoggerClassH
#define LoggerClassH
#define DefaultLogLevel Level::INFO
class Logger
{
public:
static String* LevelHeaders;
enum Level
{
TRACE = 1,
DEBUG = 2,
INFO = 3,
WARNING = 4,
ERROR = 5,
FATAL = 6
};
static void Log(String message);
static void Log(Level level, String message);
static Level MinLevel;
static GenericArray<KeyValuePair<Level, String>> LogBook;
};
#endif