diff --git a/client/src/main.cpp b/client/src/main.cpp index 8e65144..e2761e3 100644 --- a/client/src/main.cpp +++ b/client/src/main.cpp @@ -77,7 +77,7 @@ int main() { } void errorCatcher(int id, const char* str) { - Logger::fatalError(std::format("GLFW Error: [{}] {}", id, str)); + Logger::fatalErrorf("GLFW Error: [{}] {}", id, str); } float lastTime; diff --git a/core/src/logger.cpp b/core/src/logger.cpp index d5ab497..173860e 100644 --- a/core/src/logger.cpp +++ b/core/src/logger.cpp @@ -9,7 +9,6 @@ static std::ofstream logStream; static std::vector logListeners; -static std::vector traceLogListeners; std::string Logger::currentLogDir = "NULL"; void Logger::init() { @@ -28,7 +27,7 @@ void Logger::finish() { logStream.close(); } -void Logger::log(std::string message, Logger::LogLevel logLevel) { +void Logger::log(std::string message, Logger::LogLevel logLevel, ScriptSource source) { std::string logLevelStr = logLevel == Logger::LogLevel::INFO ? "INFO" : logLevel == Logger::LogLevel::DEBUG ? "DEBUG" : logLevel == Logger::LogLevel::TRACE ? "TRACE" : @@ -44,7 +43,7 @@ void Logger::log(std::string message, Logger::LogLevel logLevel) { printf("%s\n", formattedLogLine.c_str()); for (Logger::LogListener listener : logListeners) { - listener(logLevel, message); + listener(logLevel, message, source); } if (logLevel == Logger::LogLevel::FATAL_ERROR) { @@ -52,20 +51,6 @@ void Logger::log(std::string message, Logger::LogLevel logLevel) { } } -void Logger::trace(std::string source, int line, void* userData) { - std::string message = "'" + source + "' Line " + std::to_string(line); - - log(message, Logger::LogLevel::TRACE); - - for (Logger::TraceLogListener listener : traceLogListeners) { - listener(message, source, line, userData); - } -} - void Logger::addLogListener(Logger::LogListener listener) { logListeners.push_back(listener); -} - -void Logger::addLogListener(Logger::TraceLogListener listener) { - traceLogListeners.push_back(listener); } \ No newline at end of file diff --git a/core/src/logger.h b/core/src/logger.h index f0b098e..dc19355 100644 --- a/core/src/logger.h +++ b/core/src/logger.h @@ -1,9 +1,11 @@ #pragma once -#include #include +#include #include +class Script; + namespace Logger { enum class LogLevel { INFO, @@ -14,34 +16,39 @@ namespace Logger { FATAL_ERROR, }; - typedef std::function LogListener; - typedef std::function TraceLogListener; + struct ScriptSource { + std::shared_ptr