From b6602533ea40d7463819e7e92824c7494f410877 Mon Sep 17 00:00:00 2001 From: Alex Alvarado <931857-alexb737@users.noreply.gitlab.com> Date: Tue, 17 May 2022 12:05:38 +0200 Subject: [PATCH] Created logging system --- include/logger.cpp | 24 ++++++++++++++++++++++++ include/logger.hpp | 27 +++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 include/logger.cpp create mode 100644 include/logger.hpp diff --git a/include/logger.cpp b/include/logger.cpp new file mode 100644 index 0000000..658f354 --- /dev/null +++ b/include/logger.cpp @@ -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> Logger::LogBook = GenericArray>(); + +void Logger::Log(Level level, String message) +{ + String line = '[' + Logger::LevelHeaders[level] + ']' + ' ' + message; + + LogBook.Append(KeyValuePair(level, line)); + if (level >= MinLevel) + Serial.println(line); +} + +void Logger::Log(String message) +{ + String line = '[' + Logger::LevelHeaders[Level::INFO] + ']' + ' ' + message; + + LogBook.Append(KeyValuePair(Level::INFO, line)); + Serial.println(line); +} +#endif \ No newline at end of file diff --git a/include/logger.hpp b/include/logger.hpp new file mode 100644 index 0000000..66fb215 --- /dev/null +++ b/include/logger.hpp @@ -0,0 +1,27 @@ +#include +#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> LogBook; +}; +#endif \ No newline at end of file