diff options
Diffstat (limited to 'src/libjin/Utils/je_log.cpp')
-rw-r--r-- | src/libjin/Utils/je_log.cpp | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/src/libjin/Utils/je_log.cpp b/src/libjin/Utils/je_log.cpp deleted file mode 100644 index e369e14..0000000 --- a/src/libjin/Utils/je_log.cpp +++ /dev/null @@ -1,81 +0,0 @@ -#define LOGHELPER_IMPLEMENT -#include "je_log.h" - -#define hasbit(flag, bit) ((flag & bit) == bit) - -unsigned int Loghelper::dir = Loghelper::Direction::DIR_CERR; -unsigned int Loghelper::levels = Loghelper::Level::LV_ALL; -std::ofstream Loghelper::fs; - -void Loghelper::log(Level _level, const char* _fmt, ...) -{ - if (!hasbit(levels, _level)) - return; -#define FORMAT_MSG_BUFFER_SIZE (204800) - const char* levelStr = nullptr; - switch (_level) - { - case LV_ERROR: - levelStr = "[Jin Error]: "; - break; - case LV_WARNING: - levelStr = "[Jin Warning]: "; - break; - case LV_INFO: - levelStr = "[Jin Info]: "; - break; - case LV_DEBUG: - levelStr = "[Jin Debug]: "; - break; - default: - levelStr = "[Jin Unknow]: "; - break; - } - char buffer[FORMAT_MSG_BUFFER_SIZE + 1] = { 0 }; - strcpy(buffer, levelStr); - va_list args; - va_start(args, _fmt); - vsnprintf(buffer + strlen(buffer), FORMAT_MSG_BUFFER_SIZE, _fmt, args); - va_end(args); - if (hasbit(dir, DIR_CERR)) - { - std::cerr << buffer << std::endl; - } - if (hasbit(dir, DIR_FILE)) - { - fs << buffer << std::endl; - } -#undef FORMAT_MSG_BUFFER_SIZE -} - -// ض -void Loghelper::redirect(unsigned int _dir, char* _path) -{ - dir = _dir; - if (hasbit(dir, DIR_FILE)) - { - try - { - fs.open(_path, std::ios_base::app); - } - catch (std::ios_base::failure& e) { - dir = DIR_CERR; - log(Level::LV_WARNING, "ضlog· %s ʧ", _path); - } - } -} - -// ɸѡȼ -void Loghelper::restrict(unsigned int _levels) -{ - levels = _levels; -} - -void Loghelper::close() -{ - if (!fs.fail()) - fs.close(); - fs.clear(); -} - -#undef hasbit |