2015-12-13 13:07:36 +01:00

55 lines
1.1 KiB
C

#include "rlog.h"
#include <stdio.h>
#include <stdarg.h>
#if defined(WIN32)
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#endif
static int s_log_level = 0;
static int s_old_level = 0;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void rlog(int logLevel, const char* format, ...)
{
va_list ap;
if (logLevel < s_log_level)
return;
va_start(ap, format);
#if defined(_WIN32)
{
char buffer[2048];
vsprintf(buffer, format, ap);
OutputDebugStringA(buffer);
}
#else
vprintf(format, ap);
#endif
va_end(ap);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void rlog_set_level(int logLevel)
{
s_log_level = logLevel;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void rlog_level_push()
{
s_old_level = s_log_level;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void rlog_level_pop()
{
s_log_level = s_old_level;
}