Files
pixelarium/lib/utilities/ILog.hpp
T
m-aXimilian fec5c08aaa Transition to C++23 (#11)
* enum field renaming

* renderer cleanups

* compiling for C++23

* version bump

* fix build
2026-02-16 20:36:48 +01:00

33 lines
683 B
C++

#pragma once
#include <string>
#ifdef WIN32
#define __PRETTY_FUNCTION__ __FUNCTION__
#endif
namespace pixelarium::utils::log
{
enum class LogLevel
{
kTrace = 1 << 0,
kDebug = 1 << 1,
kInfo = 1 << 2,
kWarn = 1 << 3,
kError = 1 << 4,
};
/// @brief Interface for logging implementations.
class ILog
{
public:
virtual void Info(const std::string& msg) const = 0;
virtual void Debug(const std::string& msg) const = 0;
virtual void Warn(const std::string& msg) const = 0;
virtual void Error(const std::string& msg) const = 0;
virtual void ChangeLevel(LogLevel lvl) const = 0;
virtual ~ILog() {}
};
} // namespace pixelarium::utils::log