Loading src/GTMesh/Debug/CSVLogger.hdeleted 100644 → 0 +0 −149 Original line number Original line Diff line number Diff line #ifndef CSVLOGGER_H #define CSVLOGGER_H #include <string> #include <fstream> #include "VariableExport.h" /** * @brief The HtmlLogger class * has opened file to write log * if it opens existing file overwrites it. * in destructor it closes the file. */ class CSVLogger { std::string logFileName = ""; std::ofstream* logFile; int groupIndex = 0; void writeHeadder() { (*logFile) << "Group Index;Line;File;Expression;Value\n"; } public: CSVLogger(){logFile = nullptr;} /** * @brief HtmlLogger * opens specified file for writing * @param fileName * */ CSVLogger(const char* fileName) :CSVLogger(){ logFileName = fileName; } ~CSVLogger(){ destroy(); } /** * @brief Create * opens specified file and writes headder and script in html * @param fileName */ void create(const char* fileName){ if ( logFile ){ logFile->close(); delete logFile; } logFile = new std::ofstream( fileName ); writeHeadder(); } void destroy(){ if( logFile ){ logFile->close(); delete logFile; } } template<typename VAR_NAME, typename VAR, typename ... REST> void writeVar(VAR_NAME name, VAR value, REST ... rest){ // create file if not logFile is nullptr if ( !logFile ) create(logFileName.c_str()); (*logFile) << name << ", " << value; logFile->flush(); writeVar(rest...); } template<typename VAR_NAME, typename VAR> void writeVar(VAR_NAME name, VAR value){ // create file if not logFile is nullptr if (!logFile) create(logFileName.c_str()); (*logFile) << name << ", " << value; logFile->flush(); } template<typename VAR_NAME, typename VAR, typename ... REST> void writeVar(int line, std::string& cppFile, VAR_NAME name, VAR value, REST ... rest){ // create file if not logFile is nullptr if (!logFile) create(logFileName.c_str()); (*logFile) << groupIndex << ';' << line << ";\"" << cppFile << "\";\"" << name << "\";"; VariableExport<>::exportVariable( *logFile, value ); (*logFile) << "\n"; writeVar(line, cppFile, rest...); } template<typename VAR_NAME, typename VAR> void writeVar( int line, std::string& cppFile, VAR_NAME name, VAR value){ // create file if not logFile is nullptr if (!logFile) create(logFileName.c_str()); (*logFile) << groupIndex << ';' << line << ";\"" << cppFile << "\";\"" << name << "\";"; VariableExport<>::exportVariable(*logFile,value); (*logFile) << "\n"; groupIndex++; } template<typename VAR_NAME, typename VAR, typename ... REST> void writeVar(int line, const char* cppFile, VAR_NAME name, VAR value, REST ... rest){ std::string file; int i = 0; while(cppFile[i] != '\0'){ if (cppFile[i] == '\\'){ file += "\\\\"; } else { file += cppFile[i]; } i++; } writeVar(line, file, name, value, rest...); } template<typename VAR_NAME, typename VAR> void writeVar(int line, const char* cppFile, VAR_NAME name, VAR value){ std::string file; int i = 0; while(cppFile[i] != '\0'){ if (cppFile[i] == '\\'){ file += "\\\\"; } else { file += cppFile[i]; } i++; } writeVar(line, file, name, value); } }; #endif // CSVLOGGER_H src/GTMesh/Debug/ConsoleLogger.h +18 −56 Original line number Original line Diff line number Diff line Loading @@ -3,13 +3,16 @@ #include "VariableExport.h" #include "VariableExport.h" #ifdef _WIN32 #ifdef _WIN32 #ifndef NOMINMAX #define NOMINMAX #define NOMINMAX #endif #include <windows.h> #include <windows.h> #endif #endif /** /** * @brief The ConsoleLogger class * @brief The ConsoleLogger class */ */ template <VARIABLE_EXPORT_METHOD method = VARIABLE_EXPORT_METHOD::VARIABLE_EXPORT_METHOD_OSTREAM> class ConsoleLogger { class ConsoleLogger { bool mColoredOutput = true; //!< If true then the output the variable names and their values are highlighted. bool mColoredOutput = true; //!< If true then the output the variable names and their values are highlighted. bool mOnlyFilename = false; //!< If true then the filename is exported without its path. bool mOnlyFilename = false; //!< If true then the filename is exported without its path. Loading Loading @@ -87,7 +90,7 @@ public: printHeader(line, funcName, sourceFile, prefix); printHeader(line, funcName, sourceFile, prefix); std::cerr << "==> "; std::cerr << "==> "; insertMessageColor(); insertMessageColor(); VariableExport<>::exportVariable(std::cerr, message); VariableExport::exportVariable(std::cerr, message); resetColor(); resetColor(); std::cerr << " <==" << std::endl; std::cerr << " <==" << std::endl; Loading Loading @@ -117,7 +120,7 @@ private: resetColor(); resetColor(); std::cerr << " ]] ==> " << std::flush; std::cerr << " ]] ==> " << std::flush; insertValueColor(); insertValueColor(); VariableExport<>::exportVariable(std::cerr, value); VariableExport::exportVariable(std::cerr, value); resetColor(); resetColor(); std::cerr << "\n"; std::cerr << "\n"; Loading Loading @@ -189,80 +192,39 @@ private: } } return res; return res; } } }; template <> class ConsoleLogger<VARIABLE_EXPORT_METHOD::VARIABLE_EXPORT_METHOD_STDIO> { public: public: template<typename MSGTYPE, typename... MSGTYPES> template<typename MSGTYPE, typename... MSGTYPES> static void writeMessage(const char* prefix, int line, const char* sourceFile, const MSGTYPE& message, const MSGTYPES&... rest) { static void writeMessageC(const char* prefix, int line, const char* funcName, const char* sourceFile, const MSGTYPE& message, const MSGTYPES&... rest) { writeMessage(prefix, line, sourceFile, message); writeMessageC(prefix, funcName, line, sourceFile, message); writeMessage(prefix, line, sourceFile, rest...); writeMessageC(prefix, funcName, line, sourceFile, rest...); } } template<typename MSGTYPE> template<typename MSGTYPE> static void writeMessage(const char* prefix, int line, const char* sourceFile, const MSGTYPE& message) { static void writeMessageC(const char* prefix, int line, const char* funcName, const char* sourceFile, const MSGTYPE& message) { printf("%s %s: %i <%s> ==> ", prefix, sourceFile, line, funcName); printf("%s %s << %i >> ==> ", prefix, sourceFile, line); VariableExport<VARIABLE_EXPORT_METHOD::VARIABLE_EXPORT_METHOD_STDIO>::exportVariable(message); VariableExport::exportVariable(message); printf(" <==\n"); printf(" <==\n"); } } template<typename VAR_NAME, typename VAR, typename ... REST> static void writeVar(VAR_NAME name, VAR value, REST ... rest){ writeVar(name, value); writeVar(rest...); } template<typename VAR_NAME, typename VAR> static void writeVar(VAR_NAME name, VAR value){ std::cerr << "variable " << name << " has value: " << value; } template<typename VAR_NAME, typename VAR, typename ... REST> template<typename VAR_NAME, typename VAR, typename ... REST> static void writeVar(int line, const char* cppFile, const VAR_NAME& name,const VAR& value,const REST& ... rest){ static void writeVarC(int line, const char* funcName, const char* cppFile, const VAR_NAME& name,const VAR& value,const REST& ... rest){ writeVar(line, cppFile, name, value); writeVar(line, cppFile, rest...); } template<typename VAR> static void writeVar(int line, const char* cppFile, const char* name,const VAR& value){ printf("== %s << %i >> [[ %s ]] ==> ", writeVarC(line, funcName, cppFile, name, value); cppFile, writeVarC(line, funcName, cppFile, rest...); line, name); VariableExport<VARIABLE_EXPORT_METHOD::VARIABLE_EXPORT_METHOD_STDIO>::exportVariable(value); printf("\n"); } } template<typename VAR> template<typename VAR> static void writeVar(int line, const char* cppFile, const char* name,const std::initializer_list<VAR>& value){ static void writeVarC(int line, const char* funcName, const char* cppFile, const char* name,const VAR& value){ printf("== %s: %i <%s> [[ %s ]] ==> ", cppFile, line, funcName, name); printf("== %s << %i >> [[ %s ]] ==> ", cppFile, line, name); VariableExport<VARIABLE_EXPORT_METHOD::VARIABLE_EXPORT_METHOD_STDIO>::exportVariable(value); VariableExport::exportVariable(value); printf("\n"); printf("\n"); } } Loading src/GTMesh/Debug/Debug.h +4 −7 Original line number Original line Diff line number Diff line Loading @@ -5,7 +5,6 @@ #include "../Macros/MacroForEach.h" #include "../Macros/MacroForEach.h" #include <iostream> #include <iostream> #include "HTMLLogger.h" #include "HTMLLogger.h" #include "CSVLogger.h" #include "JSONLogger.h" #include "JSONLogger.h" #include "ConsoleLogger.h" #include "ConsoleLogger.h" #include "../Singleton/Singleton.h" #include "../Singleton/Singleton.h" Loading @@ -18,14 +17,12 @@ namespace dbg { struct DBGStatics { struct DBGStatics { HtmlLogger HDBGLog = HtmlLogger("DBG.html"); HtmlLogger HDBGLog = HtmlLogger("DBG.html"); CSVLogger CSVDBGLog = CSVLogger("DBG.csv"); JSONLogger JSONDBGLog = JSONLogger("DBG.json"); JSONLogger JSONDBGLog = JSONLogger("DBG.json"); }; }; ConsoleLogger<>& getDebugConsoleLogger() { inline ConsoleLogger& getDebugConsoleLogger() { static ConsoleLogger<> consoleLogger = ConsoleLogger<>(); static ConsoleLogger consoleLogger = ConsoleLogger(); return consoleLogger; return consoleLogger; } } } } Loading @@ -36,7 +33,7 @@ namespace dbg { #define DBGVAR(...) dbg::getDebugConsoleLogger().writeVariable(__LINE__, __func__, __FILE__, FOR_EACH(STRVAR, __VA_ARGS__)) #define DBGVAR(...) dbg::getDebugConsoleLogger().writeVariable(__LINE__, __func__, __FILE__, FOR_EACH(STRVAR, __VA_ARGS__)) #define DBGVARCOND(condition, ...) if(condition) DBGVAR(__VA_ARGS__) #define DBGVARCOND(condition, ...) if(condition) DBGVAR(__VA_ARGS__) #define DBGVAR_STDIO(...) ConsoleLogger<VARIABLE_EXPORT_METHOD_STDIO>::writeVar(__LINE__, __FILE__, FOR_EACH(STRVAR, __VA_ARGS__)) #define DBGVAR_STDIO(...) ConsoleLogger::writeVarC(__LINE__, __FILE__, __func__, FOR_EACH(STRVAR, __VA_ARGS__)) #define DBGVARCOND_STDIO(condition, ...) if(condition) DBGVAR_STDIO(__VA_ARGS__) #define DBGVARCOND_STDIO(condition, ...) if(condition) DBGVAR_STDIO(__VA_ARGS__) #define DBGMSG(...) dbg::getDebugConsoleLogger().writeMessage("++", __LINE__, __func__, __FILE__, __VA_ARGS__) #define DBGMSG(...) dbg::getDebugConsoleLogger().writeMessage("++", __LINE__, __func__, __FILE__, __VA_ARGS__) Loading @@ -62,7 +59,7 @@ exit(1);} #define DBGCHECK dbg::getDebugConsoleLogger().writeMessage("--", __LINE__, __func__, __FILE__, "check line") #define DBGCHECK dbg::getDebugConsoleLogger().writeMessage("--", __LINE__, __func__, __FILE__, "check line") #define DBGCHECK_STDIO ConsoleLogger::writeMessageC("--", __LINE__, __func__, __FILE__, "check line") #else #else Loading src/GTMesh/Debug/HTMLLogger.h +2 −2 Original line number Original line Diff line number Diff line Loading @@ -93,7 +93,7 @@ public: if (!logFile) create(logFileName.c_str()); if (!logFile) create(logFileName.c_str()); (*logFile) << "[" << groupIndex << ", " << line << ", '" << cppFile << "', '" << name << "', "; (*logFile) << "[" << groupIndex << ", " << line << ", '" << cppFile << "', '" << name << "', "; VariableExport<>::exportVariable(*logFile,value); VariableExport::exportVariable(*logFile,value); (*logFile) << "],\n"; (*logFile) << "],\n"; writeVar(line, cppFile, rest...); writeVar(line, cppFile, rest...); } } Loading @@ -106,7 +106,7 @@ public: if (!logFile) create(logFileName.c_str()); if (!logFile) create(logFileName.c_str()); (*logFile) << "[" << groupIndex << ", " << line << ", '" << cppFile << "', '" << name << "', "; (*logFile) << "[" << groupIndex << ", " << line << ", '" << cppFile << "', '" << name << "', "; VariableExport<>::exportVariable(*logFile,value); VariableExport::exportVariable(*logFile,value); (*logFile) << "],\n"; (*logFile) << "],\n"; groupIndex++; groupIndex++; Loading src/GTMesh/Debug/JSONLogger.h +7 −8 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,6 @@ class JSONLogger { std::ofstream* logFile; std::ofstream* logFile; int groupIndex = 0; int groupIndex = 0; bool firstWrite = true; bool firstWrite = true; public: public: JSONLogger(){logFile = nullptr;} JSONLogger(){logFile = nullptr;} Loading Loading @@ -85,9 +84,9 @@ public: firstWrite = false; firstWrite = false; } } (*logFile) << "\t{\n\t\t\"expr\" : \""<< std::quoted( name ) << (*logFile) << "\t{\n\t\t\"expr\" : "<< std::quoted( name ) << "\",\n\t\t\"data\" : " ; ",\n\t\t\"data\" : " ; VariableExport<>::exportVariable(*logFile, value); VariableExport::exportVariable(*logFile, value); (*logFile) << "\n}"; (*logFile) << "\n}"; Loading @@ -109,9 +108,9 @@ public: "\n\t\t\"gInd\" : " << groupIndex << "," << "\n\t\t\"gInd\" : " << groupIndex << "," << "\n\t\t\"file\" : \"" << cppFile << "\"," << "\n\t\t\"file\" : \"" << cppFile << "\"," << "\n\t\t\"line\" : " << line << "," << "\n\t\t\"line\" : " << line << "," << "\n\t\t\"expr\" : \""<< std::quoted( name ) << "\"," << "\n\t\t\"expr\" : " << std::quoted( name ) << "," << "\n\t\t\"data\" : "; "\n\t\t\"data\" : "; VariableExport<>::exportVariable(*logFile, value); VariableExport::exportVariable(*logFile, value); (*logFile) << "\n\t}"; (*logFile) << "\n\t}"; writeVar(line, cppFile, rest...); writeVar(line, cppFile, rest...); Loading @@ -133,9 +132,9 @@ public: "\n\t\t\"gInd\" : " << groupIndex << "," << "\n\t\t\"gInd\" : " << groupIndex << "," << "\n\t\t\"file\" : \"" << cppFile << "\"," << "\n\t\t\"file\" : \"" << cppFile << "\"," << "\n\t\t\"line\" : " << line << "," << "\n\t\t\"line\" : " << line << "," << "\n\t\t\"expr\" : \""<< std::quoted( name ) << "\"," << "\n\t\t\"expr\" : " << std::quoted( name ) << "," << "\n\t\t\"data\" : "; "\n\t\t\"data\" : "; VariableExport<>::exportVariable(*logFile, value); VariableExport::exportVariable(*logFile, value); (*logFile) << "\n\t}"; (*logFile) << "\n\t}"; Loading Loading
src/GTMesh/Debug/CSVLogger.hdeleted 100644 → 0 +0 −149 Original line number Original line Diff line number Diff line #ifndef CSVLOGGER_H #define CSVLOGGER_H #include <string> #include <fstream> #include "VariableExport.h" /** * @brief The HtmlLogger class * has opened file to write log * if it opens existing file overwrites it. * in destructor it closes the file. */ class CSVLogger { std::string logFileName = ""; std::ofstream* logFile; int groupIndex = 0; void writeHeadder() { (*logFile) << "Group Index;Line;File;Expression;Value\n"; } public: CSVLogger(){logFile = nullptr;} /** * @brief HtmlLogger * opens specified file for writing * @param fileName * */ CSVLogger(const char* fileName) :CSVLogger(){ logFileName = fileName; } ~CSVLogger(){ destroy(); } /** * @brief Create * opens specified file and writes headder and script in html * @param fileName */ void create(const char* fileName){ if ( logFile ){ logFile->close(); delete logFile; } logFile = new std::ofstream( fileName ); writeHeadder(); } void destroy(){ if( logFile ){ logFile->close(); delete logFile; } } template<typename VAR_NAME, typename VAR, typename ... REST> void writeVar(VAR_NAME name, VAR value, REST ... rest){ // create file if not logFile is nullptr if ( !logFile ) create(logFileName.c_str()); (*logFile) << name << ", " << value; logFile->flush(); writeVar(rest...); } template<typename VAR_NAME, typename VAR> void writeVar(VAR_NAME name, VAR value){ // create file if not logFile is nullptr if (!logFile) create(logFileName.c_str()); (*logFile) << name << ", " << value; logFile->flush(); } template<typename VAR_NAME, typename VAR, typename ... REST> void writeVar(int line, std::string& cppFile, VAR_NAME name, VAR value, REST ... rest){ // create file if not logFile is nullptr if (!logFile) create(logFileName.c_str()); (*logFile) << groupIndex << ';' << line << ";\"" << cppFile << "\";\"" << name << "\";"; VariableExport<>::exportVariable( *logFile, value ); (*logFile) << "\n"; writeVar(line, cppFile, rest...); } template<typename VAR_NAME, typename VAR> void writeVar( int line, std::string& cppFile, VAR_NAME name, VAR value){ // create file if not logFile is nullptr if (!logFile) create(logFileName.c_str()); (*logFile) << groupIndex << ';' << line << ";\"" << cppFile << "\";\"" << name << "\";"; VariableExport<>::exportVariable(*logFile,value); (*logFile) << "\n"; groupIndex++; } template<typename VAR_NAME, typename VAR, typename ... REST> void writeVar(int line, const char* cppFile, VAR_NAME name, VAR value, REST ... rest){ std::string file; int i = 0; while(cppFile[i] != '\0'){ if (cppFile[i] == '\\'){ file += "\\\\"; } else { file += cppFile[i]; } i++; } writeVar(line, file, name, value, rest...); } template<typename VAR_NAME, typename VAR> void writeVar(int line, const char* cppFile, VAR_NAME name, VAR value){ std::string file; int i = 0; while(cppFile[i] != '\0'){ if (cppFile[i] == '\\'){ file += "\\\\"; } else { file += cppFile[i]; } i++; } writeVar(line, file, name, value); } }; #endif // CSVLOGGER_H
src/GTMesh/Debug/ConsoleLogger.h +18 −56 Original line number Original line Diff line number Diff line Loading @@ -3,13 +3,16 @@ #include "VariableExport.h" #include "VariableExport.h" #ifdef _WIN32 #ifdef _WIN32 #ifndef NOMINMAX #define NOMINMAX #define NOMINMAX #endif #include <windows.h> #include <windows.h> #endif #endif /** /** * @brief The ConsoleLogger class * @brief The ConsoleLogger class */ */ template <VARIABLE_EXPORT_METHOD method = VARIABLE_EXPORT_METHOD::VARIABLE_EXPORT_METHOD_OSTREAM> class ConsoleLogger { class ConsoleLogger { bool mColoredOutput = true; //!< If true then the output the variable names and their values are highlighted. bool mColoredOutput = true; //!< If true then the output the variable names and their values are highlighted. bool mOnlyFilename = false; //!< If true then the filename is exported without its path. bool mOnlyFilename = false; //!< If true then the filename is exported without its path. Loading Loading @@ -87,7 +90,7 @@ public: printHeader(line, funcName, sourceFile, prefix); printHeader(line, funcName, sourceFile, prefix); std::cerr << "==> "; std::cerr << "==> "; insertMessageColor(); insertMessageColor(); VariableExport<>::exportVariable(std::cerr, message); VariableExport::exportVariable(std::cerr, message); resetColor(); resetColor(); std::cerr << " <==" << std::endl; std::cerr << " <==" << std::endl; Loading Loading @@ -117,7 +120,7 @@ private: resetColor(); resetColor(); std::cerr << " ]] ==> " << std::flush; std::cerr << " ]] ==> " << std::flush; insertValueColor(); insertValueColor(); VariableExport<>::exportVariable(std::cerr, value); VariableExport::exportVariable(std::cerr, value); resetColor(); resetColor(); std::cerr << "\n"; std::cerr << "\n"; Loading Loading @@ -189,80 +192,39 @@ private: } } return res; return res; } } }; template <> class ConsoleLogger<VARIABLE_EXPORT_METHOD::VARIABLE_EXPORT_METHOD_STDIO> { public: public: template<typename MSGTYPE, typename... MSGTYPES> template<typename MSGTYPE, typename... MSGTYPES> static void writeMessage(const char* prefix, int line, const char* sourceFile, const MSGTYPE& message, const MSGTYPES&... rest) { static void writeMessageC(const char* prefix, int line, const char* funcName, const char* sourceFile, const MSGTYPE& message, const MSGTYPES&... rest) { writeMessage(prefix, line, sourceFile, message); writeMessageC(prefix, funcName, line, sourceFile, message); writeMessage(prefix, line, sourceFile, rest...); writeMessageC(prefix, funcName, line, sourceFile, rest...); } } template<typename MSGTYPE> template<typename MSGTYPE> static void writeMessage(const char* prefix, int line, const char* sourceFile, const MSGTYPE& message) { static void writeMessageC(const char* prefix, int line, const char* funcName, const char* sourceFile, const MSGTYPE& message) { printf("%s %s: %i <%s> ==> ", prefix, sourceFile, line, funcName); printf("%s %s << %i >> ==> ", prefix, sourceFile, line); VariableExport<VARIABLE_EXPORT_METHOD::VARIABLE_EXPORT_METHOD_STDIO>::exportVariable(message); VariableExport::exportVariable(message); printf(" <==\n"); printf(" <==\n"); } } template<typename VAR_NAME, typename VAR, typename ... REST> static void writeVar(VAR_NAME name, VAR value, REST ... rest){ writeVar(name, value); writeVar(rest...); } template<typename VAR_NAME, typename VAR> static void writeVar(VAR_NAME name, VAR value){ std::cerr << "variable " << name << " has value: " << value; } template<typename VAR_NAME, typename VAR, typename ... REST> template<typename VAR_NAME, typename VAR, typename ... REST> static void writeVar(int line, const char* cppFile, const VAR_NAME& name,const VAR& value,const REST& ... rest){ static void writeVarC(int line, const char* funcName, const char* cppFile, const VAR_NAME& name,const VAR& value,const REST& ... rest){ writeVar(line, cppFile, name, value); writeVar(line, cppFile, rest...); } template<typename VAR> static void writeVar(int line, const char* cppFile, const char* name,const VAR& value){ printf("== %s << %i >> [[ %s ]] ==> ", writeVarC(line, funcName, cppFile, name, value); cppFile, writeVarC(line, funcName, cppFile, rest...); line, name); VariableExport<VARIABLE_EXPORT_METHOD::VARIABLE_EXPORT_METHOD_STDIO>::exportVariable(value); printf("\n"); } } template<typename VAR> template<typename VAR> static void writeVar(int line, const char* cppFile, const char* name,const std::initializer_list<VAR>& value){ static void writeVarC(int line, const char* funcName, const char* cppFile, const char* name,const VAR& value){ printf("== %s: %i <%s> [[ %s ]] ==> ", cppFile, line, funcName, name); printf("== %s << %i >> [[ %s ]] ==> ", cppFile, line, name); VariableExport<VARIABLE_EXPORT_METHOD::VARIABLE_EXPORT_METHOD_STDIO>::exportVariable(value); VariableExport::exportVariable(value); printf("\n"); printf("\n"); } } Loading
src/GTMesh/Debug/Debug.h +4 −7 Original line number Original line Diff line number Diff line Loading @@ -5,7 +5,6 @@ #include "../Macros/MacroForEach.h" #include "../Macros/MacroForEach.h" #include <iostream> #include <iostream> #include "HTMLLogger.h" #include "HTMLLogger.h" #include "CSVLogger.h" #include "JSONLogger.h" #include "JSONLogger.h" #include "ConsoleLogger.h" #include "ConsoleLogger.h" #include "../Singleton/Singleton.h" #include "../Singleton/Singleton.h" Loading @@ -18,14 +17,12 @@ namespace dbg { struct DBGStatics { struct DBGStatics { HtmlLogger HDBGLog = HtmlLogger("DBG.html"); HtmlLogger HDBGLog = HtmlLogger("DBG.html"); CSVLogger CSVDBGLog = CSVLogger("DBG.csv"); JSONLogger JSONDBGLog = JSONLogger("DBG.json"); JSONLogger JSONDBGLog = JSONLogger("DBG.json"); }; }; ConsoleLogger<>& getDebugConsoleLogger() { inline ConsoleLogger& getDebugConsoleLogger() { static ConsoleLogger<> consoleLogger = ConsoleLogger<>(); static ConsoleLogger consoleLogger = ConsoleLogger(); return consoleLogger; return consoleLogger; } } } } Loading @@ -36,7 +33,7 @@ namespace dbg { #define DBGVAR(...) dbg::getDebugConsoleLogger().writeVariable(__LINE__, __func__, __FILE__, FOR_EACH(STRVAR, __VA_ARGS__)) #define DBGVAR(...) dbg::getDebugConsoleLogger().writeVariable(__LINE__, __func__, __FILE__, FOR_EACH(STRVAR, __VA_ARGS__)) #define DBGVARCOND(condition, ...) if(condition) DBGVAR(__VA_ARGS__) #define DBGVARCOND(condition, ...) if(condition) DBGVAR(__VA_ARGS__) #define DBGVAR_STDIO(...) ConsoleLogger<VARIABLE_EXPORT_METHOD_STDIO>::writeVar(__LINE__, __FILE__, FOR_EACH(STRVAR, __VA_ARGS__)) #define DBGVAR_STDIO(...) ConsoleLogger::writeVarC(__LINE__, __FILE__, __func__, FOR_EACH(STRVAR, __VA_ARGS__)) #define DBGVARCOND_STDIO(condition, ...) if(condition) DBGVAR_STDIO(__VA_ARGS__) #define DBGVARCOND_STDIO(condition, ...) if(condition) DBGVAR_STDIO(__VA_ARGS__) #define DBGMSG(...) dbg::getDebugConsoleLogger().writeMessage("++", __LINE__, __func__, __FILE__, __VA_ARGS__) #define DBGMSG(...) dbg::getDebugConsoleLogger().writeMessage("++", __LINE__, __func__, __FILE__, __VA_ARGS__) Loading @@ -62,7 +59,7 @@ exit(1);} #define DBGCHECK dbg::getDebugConsoleLogger().writeMessage("--", __LINE__, __func__, __FILE__, "check line") #define DBGCHECK dbg::getDebugConsoleLogger().writeMessage("--", __LINE__, __func__, __FILE__, "check line") #define DBGCHECK_STDIO ConsoleLogger::writeMessageC("--", __LINE__, __func__, __FILE__, "check line") #else #else Loading
src/GTMesh/Debug/HTMLLogger.h +2 −2 Original line number Original line Diff line number Diff line Loading @@ -93,7 +93,7 @@ public: if (!logFile) create(logFileName.c_str()); if (!logFile) create(logFileName.c_str()); (*logFile) << "[" << groupIndex << ", " << line << ", '" << cppFile << "', '" << name << "', "; (*logFile) << "[" << groupIndex << ", " << line << ", '" << cppFile << "', '" << name << "', "; VariableExport<>::exportVariable(*logFile,value); VariableExport::exportVariable(*logFile,value); (*logFile) << "],\n"; (*logFile) << "],\n"; writeVar(line, cppFile, rest...); writeVar(line, cppFile, rest...); } } Loading @@ -106,7 +106,7 @@ public: if (!logFile) create(logFileName.c_str()); if (!logFile) create(logFileName.c_str()); (*logFile) << "[" << groupIndex << ", " << line << ", '" << cppFile << "', '" << name << "', "; (*logFile) << "[" << groupIndex << ", " << line << ", '" << cppFile << "', '" << name << "', "; VariableExport<>::exportVariable(*logFile,value); VariableExport::exportVariable(*logFile,value); (*logFile) << "],\n"; (*logFile) << "],\n"; groupIndex++; groupIndex++; Loading
src/GTMesh/Debug/JSONLogger.h +7 −8 Original line number Original line Diff line number Diff line Loading @@ -17,7 +17,6 @@ class JSONLogger { std::ofstream* logFile; std::ofstream* logFile; int groupIndex = 0; int groupIndex = 0; bool firstWrite = true; bool firstWrite = true; public: public: JSONLogger(){logFile = nullptr;} JSONLogger(){logFile = nullptr;} Loading Loading @@ -85,9 +84,9 @@ public: firstWrite = false; firstWrite = false; } } (*logFile) << "\t{\n\t\t\"expr\" : \""<< std::quoted( name ) << (*logFile) << "\t{\n\t\t\"expr\" : "<< std::quoted( name ) << "\",\n\t\t\"data\" : " ; ",\n\t\t\"data\" : " ; VariableExport<>::exportVariable(*logFile, value); VariableExport::exportVariable(*logFile, value); (*logFile) << "\n}"; (*logFile) << "\n}"; Loading @@ -109,9 +108,9 @@ public: "\n\t\t\"gInd\" : " << groupIndex << "," << "\n\t\t\"gInd\" : " << groupIndex << "," << "\n\t\t\"file\" : \"" << cppFile << "\"," << "\n\t\t\"file\" : \"" << cppFile << "\"," << "\n\t\t\"line\" : " << line << "," << "\n\t\t\"line\" : " << line << "," << "\n\t\t\"expr\" : \""<< std::quoted( name ) << "\"," << "\n\t\t\"expr\" : " << std::quoted( name ) << "," << "\n\t\t\"data\" : "; "\n\t\t\"data\" : "; VariableExport<>::exportVariable(*logFile, value); VariableExport::exportVariable(*logFile, value); (*logFile) << "\n\t}"; (*logFile) << "\n\t}"; writeVar(line, cppFile, rest...); writeVar(line, cppFile, rest...); Loading @@ -133,9 +132,9 @@ public: "\n\t\t\"gInd\" : " << groupIndex << "," << "\n\t\t\"gInd\" : " << groupIndex << "," << "\n\t\t\"file\" : \"" << cppFile << "\"," << "\n\t\t\"file\" : \"" << cppFile << "\"," << "\n\t\t\"line\" : " << line << "," << "\n\t\t\"line\" : " << line << "," << "\n\t\t\"expr\" : \""<< std::quoted( name ) << "\"," << "\n\t\t\"expr\" : " << std::quoted( name ) << "," << "\n\t\t\"data\" : "; "\n\t\t\"data\" : "; VariableExport<>::exportVariable(*logFile, value); VariableExport::exportVariable(*logFile, value); (*logFile) << "\n\t}"; (*logFile) << "\n\t}"; Loading