mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2026-01-01 09:12:37 -06:00
49 lines
1.2 KiB
C++
49 lines
1.2 KiB
C++
#include <os/logger.h>
|
|
#include <os/process.h>
|
|
|
|
#define FOREGROUND_WHITE (FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE)
|
|
#define FOREGROUND_YELLOW (FOREGROUND_RED | FOREGROUND_GREEN)
|
|
|
|
static HANDLE g_hStandardOutput;
|
|
|
|
void os::logger::Init()
|
|
{
|
|
g_hStandardOutput = GetStdHandle(STD_OUTPUT_HANDLE);
|
|
}
|
|
|
|
void os::logger::Log(const std::string_view str, ELogType type, const char* func)
|
|
{
|
|
if (!os::process::g_consoleVisible)
|
|
return;
|
|
|
|
switch (type)
|
|
{
|
|
case ELogType::Utility:
|
|
SetConsoleTextAttribute(g_hStandardOutput, FOREGROUND_GREEN | FOREGROUND_INTENSITY);
|
|
break;
|
|
|
|
case ELogType::Warning:
|
|
SetConsoleTextAttribute(g_hStandardOutput, FOREGROUND_YELLOW | FOREGROUND_INTENSITY);
|
|
break;
|
|
|
|
case ELogType::Error:
|
|
SetConsoleTextAttribute(g_hStandardOutput, FOREGROUND_RED | FOREGROUND_INTENSITY);
|
|
break;
|
|
|
|
default:
|
|
SetConsoleTextAttribute(g_hStandardOutput, FOREGROUND_WHITE);
|
|
break;
|
|
}
|
|
|
|
if (func)
|
|
{
|
|
fmt::println("[{}] {}", func, str);
|
|
}
|
|
else
|
|
{
|
|
fmt::println("{}", str);
|
|
}
|
|
|
|
SetConsoleTextAttribute(g_hStandardOutput, FOREGROUND_WHITE);
|
|
}
|