diff --git a/engine/inc/debug/debug.hpp b/engine/inc/debug/debug.hpp index d919b0e..159bc51 100644 --- a/engine/inc/debug/debug.hpp +++ b/engine/inc/debug/debug.hpp @@ -48,9 +48,7 @@ class TyraDebug { (void)expander{0, (void(ss << std::forward(args)), 0)...}; if (Tyra::Info::writeLogsToFile) { - auto* logFile = getLogFile(); - *logFile << ss.str(); - logFile->flush(); + writeInLogFile(&ss); } else { printf("%s", ss.str().c_str()); } @@ -65,9 +63,7 @@ class TyraDebug { ss1 << "|\n"; if (Tyra::Info::writeLogsToFile) { - auto* logFile = getLogFile(); - *logFile << ss1.str(); - logFile->flush(); + writeInLogFile(&ss1); } else { printf("%s", ss1.str().c_str()); } @@ -80,9 +76,7 @@ class TyraDebug { ss2 << "====================================\n\n"; if (Tyra::Info::writeLogsToFile) { - auto* logFile = getLogFile(); - *logFile << ss2.str(); - logFile->flush(); + writeInLogFile(&ss2); } else { printf("%s", ss2.str().c_str()); } @@ -92,8 +86,7 @@ class TyraDebug { } private: - static std::unique_ptr logFile; - static std::ofstream* getLogFile(); + static void writeInLogFile(std::stringstream* ss); template static void writeAssertLines(Arg&& arg, Args&&... args) { @@ -105,9 +98,7 @@ class TyraDebug { 0, (void(ss << "| " << std::forward(args) << "\n"), 0)...}; if (Tyra::Info::writeLogsToFile) { - auto* logfile = getLogFile(); - *logfile << ss.str(); - logFile->flush(); + writeInLogFile(&ss); } else { printf("%s", ss.str().c_str()); } diff --git a/engine/src/debug/debug.cpp b/engine/src/debug/debug.cpp index 292a10a..aff2466 100644 --- a/engine/src/debug/debug.cpp +++ b/engine/src/debug/debug.cpp @@ -10,16 +10,11 @@ #include "debug/debug.hpp" -std::unique_ptr TyraDebug::logFile; - -std::ofstream* TyraDebug::getLogFile() { - if (logFile) { - return logFile.get(); - } else { - logFile = std::make_unique(); - logFile->open(Tyra::FileUtils::fromCwd("log.txt"), - std::ofstream::out | std::ofstream::app); - return logFile.get(); - } - -} // namespace Tyra +void TyraDebug::writeInLogFile(std::stringstream* ss) { + std::ofstream logFile; + logFile.open(Tyra::FileUtils::fromCwd("log.txt"), + std::ofstream::out | std::ofstream::app); + logFile << ss->str(); + logFile.flush(); + // logFile.close(); +}