diff options
author | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2017-05-12 15:49:50 +0200 |
---|---|---|
committer | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2017-05-12 15:49:50 +0200 |
commit | e62817b8252974b8a98393275874ee303840bf13 (patch) | |
tree | 4565935f06e369f4a84410b0c098958e07a750c7 /Debug.hpp | |
parent | 2017-05-10 (diff) | |
download | AltCraft-e62817b8252974b8a98393275874ee303840bf13.tar AltCraft-e62817b8252974b8a98393275874ee303840bf13.tar.gz AltCraft-e62817b8252974b8a98393275874ee303840bf13.tar.bz2 AltCraft-e62817b8252974b8a98393275874ee303840bf13.tar.lz AltCraft-e62817b8252974b8a98393275874ee303840bf13.tar.xz AltCraft-e62817b8252974b8a98393275874ee303840bf13.tar.zst AltCraft-e62817b8252974b8a98393275874ee303840bf13.zip |
Diffstat (limited to 'Debug.hpp')
-rw-r--r-- | Debug.hpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Debug.hpp b/Debug.hpp new file mode 100644 index 0000000..1a9efb6 --- /dev/null +++ b/Debug.hpp @@ -0,0 +1,43 @@ +#pragma once + +#include <exception> +#include <queue> +#include <string> +#include <iostream> + +namespace debug { + + enum LogLevel { + FATAL = 0, + ERROR = 5, + WARNING = 10, + INFO = 15, + DEBUG = 20, + }; + + enum LogSource { + Unknown, + Display, + Network, + NetworkClient, + Game, + World, + Field, + Packet, + AssetManager, + }; + + struct Exception : public std::exception { + std::string message; + LogLevel level; + LogSource source; + + const char *what() const noexcept override{ + return this->message.c_str(); + } + }; + + void WriteLog(std::string message, LogLevel level = LogLevel::INFO, LogSource source = LogSource::Unknown, + std::string sourceFile = "", int lineInFile = 0); +#define LOG(MESSAGE, LEVEL, SOURCE) {using namespace debug; debug::WriteLog(MESSAGE,debug::LEVEL,debug::SOURCE,__FILE__,__LINE__);} +}
\ No newline at end of file |