98 std::vector<std::shared_ptr<LogEntry>>
entries_;
113#define LOG_TRACE(category, message) EmberCore::Logger::GetInstance().Trace(category, message)
114#define LOG_INFO(category, message) EmberCore::Logger::GetInstance().Info(category, message)
115#define LOG_WARNING(category, message) EmberCore::Logger::GetInstance().Warning(category, message)
116#define LOG_ERROR(category, message) EmberCore::Logger::GetInstance().Error(category, message)
117#define LOG_CRITICAL(category, message) EmberCore::Logger::GetInstance().Critical(category, message)
std::map< ObserverId, std::function< void()> > observers_
size_t GetMaxEntries() const
bool IsFileLoggingEnabled() const
bool IsConsoleLoggingEnabled() const
void SetMaxEntries(size_t max_entries)
static Logger & GetInstance()
const std::vector< std::shared_ptr< LogEntry > > & GetEntries() const
ObserverId AddObserver(std::function< void()> observer)
void RemoveObserver(ObserverId id)
std::vector< std::shared_ptr< LogEntry > > entries_
void SetMinLogLevel(LogLevel level)
void Log(LogLevel level, const EmberCore::String &category, const EmberCore::String &message)
void SetConsoleColorsEnabled(bool enabled)
bool file_logging_enabled_
LogLevel GetMinLogLevel() const
std::vector< std::shared_ptr< LogEntry > > GetFilteredEntries(LogLevel level_filter=LogLevel::All, const EmberCore::String &category_filter="", const EmberCore::String &search_text="") const
void SetFileLoggingEnabled(bool enabled)
void SetConsoleLoggingEnabled(bool enabled)
bool console_logging_enabled_
ObserverId next_observer_id_
Main types header for EmberCore.
LogLevel
Log levels for categorizing messages.
std::string String
Framework-agnostic string type.
RGBA color with 8-bit components.
EmberCore::Color GetLevelColor() const
EmberCore::String FormatMessage() const
std::chrono::system_clock::time_point timestamp
EmberCore::String GetLevelString() const
LogEntry(LogLevel lvl, const EmberCore::String &cat, const EmberCore::String &msg)
EmberCore::String category
EmberCore::String message
EmberCore::String formatted_message