mirror of
https://github.com/momo5502/emulator.git
synced 2026-01-11 16:46:16 +00:00
Generate formatting warnings for custom logger
This commit is contained in:
@@ -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...);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user