/***************************************************************** * DebugPrint(): Prints to the debug logger in a threadsafe manner * does nothing if not in Debug Configuration * * Ins: sDebugLog * * Outs: void * * Returns: void * * Mod. Date: 05/23/2015 * Mod. Initials: MJG *****************************************************************/ void DebugWPrint(const wchar_t* sDebugLog, ConsoleColor eColor) { #ifdef _DEBUG static std::mutex s_mPrinterMutex; //Keeps log ledgible across any possible threads s_mPrinterMutex.lock( ); ChangeConsoleColor(eColor); wprintf(sDebugLog); ChangeConsoleColor(ConsoleColor::Default); s_mPrinterMutex.unlock( ); #endif outputFile << sDebugLog; OutputDebugStringW(sDebugLog); }
void PrintAlways(const char *format, ...) { if (global_verbosity_level >= VerbosityLevel::VerboseAlways) { ChangeConsoleColor(TextColor::Blue, 0); va_list args; va_start(args, format); vprintf(format, args); va_end(args); ResetConsoleColor(); } }
void PrintWarning(const char *format, ...) { if (global_verbosity_level >= VerbosityLevel::VerboseWarning) { ChangeConsoleColor(TextColor::Yellow, 1); va_list args; va_start(args, format); vprintf(format, args); va_end(args); ResetConsoleColor(); } }
void PrintDebug(const char *format, ...) { if (global_verbosity_level >= VerbosityLevel::VerboseDebug) { ChangeConsoleColor(TextColor::Green, 0); va_list args; va_start(args, format); vprintf(format, args); va_end(args); ResetConsoleColor(); } }
void PrintError(const char *format, ...) { if (global_verbosity_level >= VerbosityLevel::VerboseError) { ChangeConsoleColor(TextColor::Red, 1); va_list args; va_start(args, format); vprintf(format, args); va_end(args); ResetConsoleColor(); } }