From 65bb0d82a9483b4275ecc2db365dc2e03e0bf91a Mon Sep 17 00:00:00 2001 From: William JCM Date: Fri, 27 May 2022 14:16:01 +0200 Subject: [PATCH] Logger: move away from the MassBuilderSaveTool namespace. Might be useful if I ever use it in another project. --- src/Logger/Logger.cpp | 20 +++++++++----------- src/Logger/Logger.h | 32 ++++++++++++++++++-------------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/src/Logger/Logger.cpp b/src/Logger/Logger.cpp index 1a0a6da..9f3681f 100644 --- a/src/Logger/Logger.cpp +++ b/src/Logger/Logger.cpp @@ -35,7 +35,7 @@ using Utility::Error; using namespace Magnum; -namespace MassBuilderSaveTool { namespace Logger { +namespace Logger { #ifndef SAVETOOL_DEBUG_BUILD static std::ofstream log_file{"SaveToolLog.txt", std::ios::trunc}; @@ -54,33 +54,33 @@ operator<<(Debug& out, const LogEntry& entry) { out << "["_s << Debug::nospace << entry.timestamp << Debug::nospace << "]"_s; #ifdef SAVETOOL_DEBUG_BUILD -#define COLOUR(col) << Debug::color(Debug::Color::col) +#define COLOURED_TEXT(colour, text) Debug::color(Debug::Color::colour) << (text) << Debug::resetColor #else -#define COLOUR(col) +#define COLOURED_TEXT(colour, text) (text) #endif switch(entry.type) { case EntryType::Info: - out << "[INFO]"_s COLOUR(Default); + out << COLOURED_TEXT(Default, "[INFO]"_s); break; case EntryType::Success: - out << "[SUCCESS]"_s COLOUR(Green); + out << COLOURED_TEXT(Green, "[SUCCESS]"_s); break; case EntryType::Warning: - out << "[WARNING]"_s COLOUR(Yellow); + out << COLOURED_TEXT(Yellow, "[WARNING]"_s); break; case EntryType::Error: - out << "[ERROR]"_s COLOUR(Red); + out << COLOURED_TEXT(Red, "[ERROR]"_s); break; } -#undef DEBUG_COLOUR +#undef COLOURED_TEXT for(UnsignedInt i = 0; i < _indentLevel; i++) { out << Debug::nospace << " "_s << Debug::nospace; } - out << entry.message << Debug::resetColor; + out << entry.message; return out; } @@ -149,5 +149,3 @@ tryLockMutex() { } } // Logger - -} // MassBuilderSaveTool diff --git a/src/Logger/Logger.h b/src/Logger/Logger.h index ea2e184..2d437c0 100644 --- a/src/Logger/Logger.h +++ b/src/Logger/Logger.h @@ -20,6 +20,7 @@ #include #include +#include using namespace Corrade; @@ -27,7 +28,7 @@ using Containers::ArrayView; using Containers::String; using Containers::StringView; -namespace MassBuilderSaveTool { namespace Logger { +namespace Logger { enum class EntryType { Info, @@ -57,17 +58,20 @@ bool tryLockMutex(); } // Logger -} // MassBuilderSaveTool +#define LOG_INFO(message) Logger::lockMutex(); \ + Logger::addEntry(Logger::EntryType::Info, message); \ + Logger::unlockMutex() +#define LOG_SUCCESS(message) Logger::lockMutex(); \ + Logger::addEntry(Logger::EntryType::Success, message); \ + Logger::unlockMutex() +#define LOG_WARNING(message) Logger::lockMutex(); \ + Logger::addEntry(Logger::EntryType::Warning, message); \ + Logger::unlockMutex() +#define LOG_ERROR(message) Logger::lockMutex(); \ + Logger::addEntry(Logger::EntryType::Error, message); \ + Logger::unlockMutex() -#define LOG_INFO(message) MassBuilderSaveTool::Logger::lockMutex(); \ - MassBuilderSaveTool::Logger::addEntry(MassBuilderSaveTool::Logger::EntryType::Info, message); \ - MassBuilderSaveTool::Logger::unlockMutex() -#define LOG_SUCCESS(message) MassBuilderSaveTool::Logger::lockMutex(); \ - MassBuilderSaveTool::Logger::addEntry(MassBuilderSaveTool::Logger::EntryType::Success, message); \ - MassBuilderSaveTool::Logger::unlockMutex() -#define LOG_WARNING(message) MassBuilderSaveTool::Logger::lockMutex(); \ - MassBuilderSaveTool::Logger::addEntry(MassBuilderSaveTool::Logger::EntryType::Warning, message); \ - MassBuilderSaveTool::Logger::unlockMutex() -#define LOG_ERROR(message) MassBuilderSaveTool::Logger::lockMutex(); \ - MassBuilderSaveTool::Logger::addEntry(MassBuilderSaveTool::Logger::EntryType::Error, message); \ - MassBuilderSaveTool::Logger::unlockMutex() +#define LOG_INFO_FORMAT(message, ...) LOG_INFO(Utility::format(message, __VA_ARGS__)) +#define LOG_SUCCESS_FORMAT(message, ...) LOG_SUCCESS(Utility::format(message, __VA_ARGS__)) +#define LOG_WARNING_FORMAT(message, ...) LOG_WARNING(Utility::format(message, __VA_ARGS__)) +#define LOG_ERROR_FORMAT(message, ...) LOG_ERROR(Utility::format(message, __VA_ARGS__))