diff --git a/deps/ox/src/ox/std/trace.hpp b/deps/ox/src/ox/std/trace.hpp index b47b93f26..51707de21 100644 --- a/deps/ox/src/ox/std/trace.hpp +++ b/deps/ox/src/ox/std/trace.hpp @@ -175,6 +175,9 @@ void init(); #define oxTracef(ch, fmt, ...) ox::trace::TraceStream(__FILE__, __LINE__, ch, ox::detail::fmtSegments(fmt), ##__VA_ARGS__) #endif +#define oxError(...) oxTrace("error", __VA_ARGS__) +#define oxErrorf(...) oxTracef("error", __VA_ARGS__) + #ifndef OX_NODEBUG #define oxDebug(...) oxTrace("debug", __VA_ARGS__) #define oxDebugf(...) oxTracef("debug", __VA_ARGS__) diff --git a/deps/ox/src/ox/std/tracehook.cpp b/deps/ox/src/ox/std/tracehook.cpp index c580aae99..cb76e8e53 100644 --- a/deps/ox/src/ox/std/tracehook.cpp +++ b/deps/ox/src/ox/std/tracehook.cpp @@ -15,6 +15,8 @@ static const auto OxPrintTrace = std::getenv("OXTRACE") != nullptr; constexpr auto OxPrintTrace = false; #endif +#include "strops.hpp" + extern "C" { void oxTraceInitHook() { @@ -27,6 +29,10 @@ void oxTraceHook([[maybe_unused]] const char *file, [[maybe_unused]] int line, std::cout << std::setw(53) << std::left << ch << "| "; std::cout << std::setw(65) << std::left << msg << '|'; std::cout << " " << file << ':' << line << "\n"; + } else if (ox_strcmp(ch, "debug") == 0) { + std::cout << msg << '\n'; + } else if (ox_strcmp(ch, "error") == 0) { + std::cerr << "\033[31;1;1mERROR:\033[0m (" << file << ':' << line << "): " << msg << '\n'; } #endif }