Generate formatting warnings for custom logger

This commit is contained in:
momo5502
2025-01-05 17:59:23 +01:00
parent 6b172f5e78
commit d87466337f

View File

@@ -1,5 +1,11 @@
#pragma once
#ifdef OS_WINDOWS
#define FORMAT_ATTRIBUTE(fmt_pos, var_pos)
#else
#define FORMAT_ATTRIBUTE(fmt_pos, var_pos) __attribute__((format( printf, fmt_pos, var_pos)))
#endif
enum class color
{
black,
@@ -17,34 +23,34 @@ enum class color
class logger
{
public:
void print(color c, const char* message, ...) const;
void print(color c, const char* message, ...) const FORMAT_ATTRIBUTE(3, 4);
template <typename... Args>
void info(const char* message, Args... args)
void info(const char* message, Args... args) const
{
this->print(color::cyan, message, args...);
}
template <typename... Args>
void warn(const char* message, Args... args)
void warn(const char* message, Args... args) const
{
this->print(color::yellow, message, args...);
}
template <typename... Args>
void error(const char* message, Args... args)
void error(const char* message, Args... args) const
{
this->print(color::red, message, args...);
}
template <typename... Args>
void success(const char* message, Args... args)
void success(const char* message, Args... args) const
{
this->print(color::green, message, args...);
}
template <typename... Args>
void log(const char* message, Args... args)
void log(const char* message, Args... args) const
{
this->print(color::gray, message, args...);
}