diff options
| author | Matthew Kosarek <mattkae@protonmail.com> | 2021-04-10 21:54:43 -0400 |
|---|---|---|
| committer | Matthew Kosarek <mattkae@protonmail.com> | 2021-04-10 21:54:43 -0400 |
| commit | 88a08ee48cbbae086ddbfeaff0679bfe4fe6ce47 (patch) | |
| tree | b62ec45eeb42b76ea1dae72d3cd8cea614c0194f /frontend/transpiler/Logger.h | |
| parent | 756b9fdefc1a28ac46aa4b76676c7ffb57c9e11a (diff) | |
Added a transpiler that will make it so that we no longer need any JavaScript of Jquery in our App
Diffstat (limited to 'frontend/transpiler/Logger.h')
| -rw-r--r-- | frontend/transpiler/Logger.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/frontend/transpiler/Logger.h b/frontend/transpiler/Logger.h new file mode 100644 index 0000000..7596b6f --- /dev/null +++ b/frontend/transpiler/Logger.h @@ -0,0 +1,43 @@ +#ifndef LOGGER_H +#define LOGGER_H + +#include <cstring> + +enum LogLevel { + LogLevel_Debug = 0, + LogLevel_Info = 1, + LogLevel_Warn = 2, + LogLevel_Error = 3 +}; + +struct LoggerOptions { + LogLevel level = LogLevel_Debug; + bool logToFile = false; + const char* filePath = "debug.log"; +}; + +namespace Logger { + void initialize(LoggerOptions options); + void setLevel(LogLevel level); + LogLevel getLevel(); + void doLog(const char* file, int lineNumber, LogLevel level, const char* format, ...); + void doDebug(const char* file, int lineNumber, const char* format, ...); + void doInfo(const char* file, int lineNumber, const char* format, ...); + void doWarning(const char* file, int lineNumber, const char* format, ...); + void doError(const char* file, int lineNumber, const char* format, ...); + void free(); +}; + +#if WIN32 +#define __FILENAME__ (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__) +#else +#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) +#endif + +#define logger_log(level, format, ...) Logger::doLog(__FILENAME__, __LINE__, level, format, ## __VA_ARGS__) +#define logger_debug(format, ...) Logger::doDebug(__FILENAME__, __LINE__, format, ## __VA_ARGS__) +#define logger_info(format, ...) Logger::doInfo(__FILENAME__, __LINE__, format, ## __VA_ARGS__) +#define logger_warning(format, ...) Logger::doWarning(__FILENAME__, __LINE__, format, ## __VA_ARGS__) +#define logger_error(format, ...) Logger::doError(__FILENAME__, __LINE__, format, ## __VA_ARGS__) + +#endif |
