diff --git a/include/LogVisor/LogVisor.hpp b/include/LogVisor/LogVisor.hpp index a1664c1..791a7f5 100644 --- a/include/LogVisor/LogVisor.hpp +++ b/include/LogVisor/LogVisor.hpp @@ -98,6 +98,13 @@ void RegisterConsoleLogger(); */ void RegisterFileLogger(const char* filepath); +#if _WIN32 +/** + * @brief Spawn an application-owned cmd.exe window for displaying console output + */ +void CreateWin32Console(); +#endif + #if LOG_UCS2 /** diff --git a/lib/LogVisor.cpp b/lib/LogVisor.cpp index 208fdc1..a8d1c2c 100644 --- a/lib/LogVisor.cpp +++ b/lib/LogVisor.cpp @@ -6,6 +6,8 @@ #define NOMINMAX #endif #include +#include +#include #else #include #include @@ -297,6 +299,18 @@ void RegisterConsoleLogger() MainLoggers.emplace_back(new ConsoleLogger); } +#if _WIN32 +void CreateWin32Console() +{ + /* Debug console */ + AllocConsole(); + + freopen("CONIN$", "r", stdin); + freopen("CONOUT$", "w", stdout); + freopen("CONOUT$", "w", stderr); +} +#endif + struct FileLogger : public ILogger { FILE* fp;