diff --git a/src/BasicLogger.cpp b/src/BasicLogger.cpp new file mode 100644 index 0000000..3a688ce --- /dev/null +++ b/src/BasicLogger.cpp @@ -0,0 +1,27 @@ +// +// Created by illyum on 8/15/2024. +// + +#include "BasicLogger.h" +#include + +// Set default verbosity +LogPriority BasicLogger::verbosity = TraceP; + +void BasicLogger::Log(LogPriority priority, const char *message) { + if (priority >= verbosity) { + switch (priority) { + case TraceP: std::cout << "Trace: \t"; break; + case DebugP: std::cout << "Debug: \t"; break; + case InfoP: std::cout << "Info: \t"; break; + case WarnP: std::cout << "Warn: \t"; break; + case ErrorP: std::cout << "Error: \t"; break; + case FatalP: std::cout << "Fatal: \t"; break; + } + std::cout << message << "\n"; + } +} + +void BasicLogger::SetVerbosity(LogPriority new_priority) { + verbosity = new_priority; +} \ No newline at end of file diff --git a/src/BasicLogger.h b/src/BasicLogger.h new file mode 100644 index 0000000..9c023ac --- /dev/null +++ b/src/BasicLogger.h @@ -0,0 +1,22 @@ +// +// Created by illyum on 8/15/2024. +// + +#ifndef BASICLOGGER_H +#define BASICLOGGER_H + + +enum LogPriority { + TraceP, DebugP, InfoP, WarnP, ErrorP, FatalP +}; + +class BasicLogger { +private: + static LogPriority verbosity; + +public: + static void Log(LogPriority priority, const char *message); + static void SetVerbosity(LogPriority new_priority); +}; + +#endif //BASICLOGGER_H