A small OpenGL 3+ renderer and game engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

37 lines
721 B

#pragma once
#include <iomanip>
#include <iostream>
enum log_level {
Error,
Warning,
Info,
Debug
};
struct dumbLog
{
std::ostream* OUT = &std::cout;
void setOutputStream(std::ostream* out);
const char* logLevelToString(log_level level);
std::tm* getCurrentTime();
int getCurrentMS();
};
static dumbLog logger;
#define LOG(level) *logger.OUT \
<< std::put_time(logger.getCurrentTime(), "%F %T.") \
<< logger.getCurrentMS() << " " \
<< "[" << logger.logLevelToString(level) << "] " \
<< "(" << __FUNCTION__ << ") "
#include <cstdio>
#define LOGF(level, format_str, ...) \
dumbLogF(level, __FUNCTION__, format_str, ##__VA_ARGS__);
void dumbLogF(log_level l, const char* func, const char* fmt, ...);