Orange/include/Orange/Core/Log.h

33 lines
902 B
C
Raw Normal View History

2022-06-12 16:33:55 +01:00
#pragma once
2022-08-02 22:27:01 +01:00
#include <Orange/Core/Types.h>
2022-08-12 10:13:51 +01:00
#include <stb/stb_sprintf.h>
2022-08-02 22:27:01 +01:00
#define Assert(...)
namespace orange::log
2022-06-12 16:33:55 +01:00
{
2022-08-02 22:27:01 +01:00
namespace LogLevels
{
enum LogLevel
{
Fatal,
Error,
Warning,
Info,
Debug,
Count
};
}
using LogLevel = LogLevels::LogLevel;
void log(LogLevel level, const char* fmt, ...);
template <typename... Args> void debug(Args&&... args) { log(LogLevels::Debug, args...); }
template <typename... Args> void info (Args&&... args) { log(LogLevels::Info, args...); }
template <typename... Args> void warn (Args&&... args) { log(LogLevels::Warning, args...); }
template <typename... Args> void err (Args&&... args) { log(LogLevels::Error, args...); }
template <typename... Args> void fatal(Args&&... args) { log(LogLevels::Fatal, args...); }
2022-06-12 16:33:55 +01:00
}