diff options
| author | Pokechu22 <Pokechu022@gmail.com> | 2021-10-21 12:11:07 -0700 |
|---|---|---|
| committer | Pokechu22 <Pokechu022@gmail.com> | 2021-10-24 11:48:36 -0700 |
| commit | 04d8cdfe88c00dfc1f6b449a728dad6d96d82d8e (patch) | |
| tree | 38caf853fe12befa6b7abc5eb74f482b6c080ee1 /Source/Core/Common/Logging/LogManager.cpp | |
| parent | ba107819ec9bc826fd910bdfc6c65fcdecae3f9e (diff) | |
Convert LOG_TYPE and LOG_LEVELS to enum class
Diffstat (limited to 'Source/Core/Common/Logging/LogManager.cpp')
| -rw-r--r-- | Source/Core/Common/Logging/LogManager.cpp | 149 |
1 files changed, 72 insertions, 77 deletions
diff --git a/Source/Core/Common/Logging/LogManager.cpp b/Source/Core/Common/Logging/LogManager.cpp index 2249447945..64f1786975 100644 --- a/Source/Core/Common/Logging/LogManager.cpp +++ b/Source/Core/Common/Logging/LogManager.cpp @@ -31,7 +31,8 @@ const Config::Info<bool> LOGGER_WRITE_TO_CONSOLE{ {Config::System::Logger, "Options", "WriteToConsole"}, true}; const Config::Info<bool> LOGGER_WRITE_TO_WINDOW{ {Config::System::Logger, "Options", "WriteToWindow"}, true}; -const Config::Info<int> LOGGER_VERBOSITY{{Config::System::Logger, "Options", "Verbosity"}, 0}; +const Config::Info<LogLevel> LOGGER_VERBOSITY{{Config::System::Logger, "Options", "Verbosity"}, + LogLevel::LNOTICE}; class FileLogListener : public LogListener { @@ -42,7 +43,7 @@ public: SetEnable(true); } - void Log(LOG_LEVELS, const char* msg) override + void Log(LogLevel, const char* msg) override { if (!IsEnabled() || !IsValid()) return; @@ -61,7 +62,7 @@ private: bool m_enable; }; -void GenericLog(LOG_LEVELS level, LOG_TYPE type, const char* file, int line, const char* fmt, ...) +void GenericLog(LogLevel level, LogType type, const char* file, int line, const char* fmt, ...) { auto* instance = LogManager::GetInstance(); if (instance == nullptr) @@ -79,7 +80,7 @@ void GenericLog(LOG_LEVELS level, LOG_TYPE type, const char* file, int line, con instance->Log(level, type, file, line, message); } -void GenericLogFmtImpl(LOG_LEVELS level, LOG_TYPE type, const char* file, int line, +void GenericLogFmtImpl(LogLevel level, LogType type, const char* file, int line, fmt::string_view format, const fmt::format_args& args) { auto* instance = LogManager::GetInstance(); @@ -115,79 +116,75 @@ static size_t DeterminePathCutOffPoint() LogManager::LogManager() { // create log containers - m_log[ACTIONREPLAY] = {"ActionReplay", "Action Replay"}; - m_log[AUDIO] = {"Audio", "Audio Emulator"}; - m_log[AUDIO_INTERFACE] = {"AI", "Audio Interface"}; - m_log[BOOT] = {"BOOT", "Boot"}; - m_log[COMMANDPROCESSOR] = {"CP", "Command Processor"}; - m_log[COMMON] = {"COMMON", "Common"}; - m_log[CONSOLE] = {"CONSOLE", "Dolphin Console"}; - m_log[CONTROLLERINTERFACE] = {"CI", "Controller Interface"}; - m_log[CORE] = {"CORE", "Core"}; - m_log[DISCIO] = {"DIO", "Disc IO"}; - m_log[DSPHLE] = {"DSPHLE", "DSP HLE"}; - m_log[DSPLLE] = {"DSPLLE", "DSP LLE"}; - m_log[DSP_MAIL] = {"DSPMails", "DSP Mails"}; - m_log[DSPINTERFACE] = {"DSP", "DSP Interface"}; - m_log[DVDINTERFACE] = {"DVD", "DVD Interface"}; - m_log[DYNA_REC] = {"JIT", "JIT Dynamic Recompiler"}; - m_log[EXPANSIONINTERFACE] = {"EXI", "Expansion Interface"}; - m_log[FILEMON] = {"FileMon", "File Monitor"}; - m_log[FRAMEDUMP] = {"FRAMEDUMP", "FrameDump"}; - m_log[GDB_STUB] = {"GDB_STUB", "GDB Stub"}; - m_log[GPFIFO] = {"GP", "GatherPipe FIFO"}; - m_log[HOST_GPU] = {"Host GPU", "Host GPU"}; - m_log[IOS] = {"IOS", "IOS"}; - m_log[IOS_DI] = {"IOS_DI", "IOS - Drive Interface"}; - m_log[IOS_ES] = {"IOS_ES", "IOS - ETicket Services"}; - m_log[IOS_FS] = {"IOS_FS", "IOS - Filesystem Services"}; - m_log[IOS_SD] = {"IOS_SD", "IOS - SDIO"}; - m_log[IOS_SSL] = {"IOS_SSL", "IOS - SSL"}; - m_log[IOS_STM] = {"IOS_STM", "IOS - State Transition Manager"}; - m_log[IOS_NET] = {"IOS_NET", "IOS - Network"}; - m_log[IOS_USB] = {"IOS_USB", "IOS - USB"}; - m_log[IOS_WC24] = {"IOS_WC24", "IOS - WiiConnect24"}; - m_log[IOS_WFS] = {"IOS_WFS", "IOS - WFS"}; - m_log[IOS_WIIMOTE] = {"IOS_WIIMOTE", "IOS - Wii Remote"}; - m_log[MASTER_LOG] = {"MASTER", "Master Log"}; - m_log[MEMCARD_MANAGER] = {"MemCard Manager", "Memory Card Manager"}; - m_log[MEMMAP] = {"MI", "Memory Interface & Memory Map"}; - m_log[NETPLAY] = {"NETPLAY", "Netplay"}; - m_log[OSHLE] = {"HLE", "OSHLE"}; - m_log[OSREPORT] = {"OSREPORT", "OSReport EXI"}; - m_log[OSREPORT_HLE] = {"OSREPORT_HLE", "OSReport HLE"}; - m_log[PIXELENGINE] = {"PE", "Pixel Engine"}; - m_log[PROCESSORINTERFACE] = {"PI", "Processor Interface"}; - m_log[POWERPC] = {"PowerPC", "PowerPC IBM CPU"}; - m_log[SERIALINTERFACE] = {"SI", "Serial Interface"}; - m_log[SP1] = {"SP1", "Serial Port 1"}; - m_log[SYMBOLS] = {"SYMBOLS", "Symbols"}; - m_log[VIDEO] = {"Video", "Video Backend"}; - m_log[VIDEOINTERFACE] = {"VI", "Video Interface"}; - m_log[WIIMOTE] = {"Wiimote", "Wii Remote"}; - m_log[WII_IPC] = {"WII_IPC", "WII IPC"}; + m_log[LogType::ACTIONREPLAY] = {"ActionReplay", "Action Replay"}; + m_log[LogType::AUDIO] = {"Audio", "Audio Emulator"}; + m_log[LogType::AUDIO_INTERFACE] = {"AI", "Audio Interface"}; + m_log[LogType::BOOT] = {"BOOT", "Boot"}; + m_log[LogType::COMMANDPROCESSOR] = {"CP", "Command Processor"}; + m_log[LogType::COMMON] = {"COMMON", "Common"}; + m_log[LogType::CONSOLE] = {"CONSOLE", "Dolphin Console"}; + m_log[LogType::CONTROLLERINTERFACE] = {"CI", "Controller Interface"}; + m_log[LogType::CORE] = {"CORE", "Core"}; + m_log[LogType::DISCIO] = {"DIO", "Disc IO"}; + m_log[LogType::DSPHLE] = {"DSPHLE", "DSP HLE"}; + m_log[LogType::DSPLLE] = {"DSPLLE", "DSP LLE"}; + m_log[LogType::DSP_MAIL] = {"DSPMails", "DSP Mails"}; + m_log[LogType::DSPINTERFACE] = {"DSP", "DSP Interface"}; + m_log[LogType::DVDINTERFACE] = {"DVD", "DVD Interface"}; + m_log[LogType::DYNA_REC] = {"JIT", "JIT Dynamic Recompiler"}; + m_log[LogType::EXPANSIONINTERFACE] = {"EXI", "Expansion Interface"}; + m_log[LogType::FILEMON] = {"FileMon", "File Monitor"}; + m_log[LogType::FRAMEDUMP] = {"FRAMEDUMP", "FrameDump"}; + m_log[LogType::GDB_STUB] = {"GDB_STUB", "GDB Stub"}; + m_log[LogType::GPFIFO] = {"GP", "GatherPipe FIFO"}; + m_log[LogType::HOST_GPU] = {"Host GPU", "Host GPU"}; + m_log[LogType::IOS] = {"IOS", "IOS"}; + m_log[LogType::IOS_DI] = {"IOS_DI", "IOS - Drive Interface"}; + m_log[LogType::IOS_ES] = {"IOS_ES", "IOS - ETicket Services"}; + m_log[LogType::IOS_FS] = {"IOS_FS", "IOS - Filesystem Services"}; + m_log[LogType::IOS_SD] = {"IOS_SD", "IOS - SDIO"}; + m_log[LogType::IOS_SSL] = {"IOS_SSL", "IOS - SSL"}; + m_log[LogType::IOS_STM] = {"IOS_STM", "IOS - State Transition Manager"}; + m_log[LogType::IOS_NET] = {"IOS_NET", "IOS - Network"}; + m_log[LogType::IOS_USB] = {"IOS_USB", "IOS - USB"}; + m_log[LogType::IOS_WC24] = {"IOS_WC24", "IOS - WiiConnect24"}; + m_log[LogType::IOS_WFS] = {"IOS_WFS", "IOS - WFS"}; + m_log[LogType::IOS_WIIMOTE] = {"IOS_WIIMOTE", "IOS - Wii Remote"}; + m_log[LogType::MASTER_LOG] = {"MASTER", "Master Log"}; + m_log[LogType::MEMCARD_MANAGER] = {"MemCard Manager", "Memory Card Manager"}; + m_log[LogType::MEMMAP] = {"MI", "Memory Interface & Memory Map"}; + m_log[LogType::NETPLAY] = {"NETPLAY", "Netplay"}; + m_log[LogType::OSHLE] = {"HLE", "OSHLE"}; + m_log[LogType::OSREPORT] = {"OSREPORT", "OSReport EXI"}; + m_log[LogType::OSREPORT_HLE] = {"OSREPORT_HLE", "OSReport HLE"}; + m_log[LogType::PIXELENGINE] = {"PE", "Pixel Engine"}; + m_log[LogType::PROCESSORINTERFACE] = {"PI", "Processor Interface"}; + m_log[LogType::POWERPC] = {"PowerPC", "PowerPC IBM CPU"}; + m_log[LogType::SERIALINTERFACE] = {"SI", "Serial Interface"}; + m_log[LogType::SP1] = {"SP1", "Serial Port 1"}; + m_log[LogType::SYMBOLS] = {"SYMBOLS", "Symbols"}; + m_log[LogType::VIDEO] = {"Video", "Video Backend"}; + m_log[LogType::VIDEOINTERFACE] = {"VI", "Video Interface"}; + m_log[LogType::WIIMOTE] = {"Wiimote", "Wii Remote"}; + m_log[LogType::WII_IPC] = {"WII_IPC", "WII IPC"}; RegisterListener(LogListener::FILE_LISTENER, new FileLogListener(File::GetUserPath(F_MAINLOG_IDX))); RegisterListener(LogListener::CONSOLE_LISTENER, new ConsoleListener()); // Set up log listeners - int verbosity = Config::Get(LOGGER_VERBOSITY); + LogLevel verbosity = Config::Get(LOGGER_VERBOSITY); - // Ensure the verbosity level is valid - if (verbosity < 1) - verbosity = 1; - if (verbosity > MAX_LOGLEVEL) - verbosity = MAX_LOGLEVEL; - - SetLogLevel(static_cast<LOG_LEVELS>(verbosity)); + SetLogLevel(verbosity); EnableListener(LogListener::FILE_LISTENER, Config::Get(LOGGER_WRITE_TO_FILE)); EnableListener(LogListener::CONSOLE_LISTENER, Config::Get(LOGGER_WRITE_TO_CONSOLE)); EnableListener(LogListener::LOG_WINDOW_LISTENER, Config::Get(LOGGER_WRITE_TO_WINDOW)); - for (LogContainer& container : m_log) + for (auto& container : m_log) + { container.m_enable = Config::Get( Config::Info<bool>{{Config::System::Logger, "Logs", container.m_short_name}, false}); + } m_path_cutoff_point = DeterminePathCutOffPoint(); } @@ -208,7 +205,7 @@ void LogManager::SaveSettings() IsListenerEnabled(LogListener::CONSOLE_LISTENER)); Config::SetBaseOrCurrent(LOGGER_WRITE_TO_WINDOW, IsListenerEnabled(LogListener::LOG_WINDOW_LISTENER)); - Config::SetBaseOrCurrent(LOGGER_VERBOSITY, static_cast<int>(GetLogLevel())); + Config::SetBaseOrCurrent(LOGGER_VERBOSITY, GetLogLevel()); for (const auto& container : m_log) { @@ -219,8 +216,7 @@ void LogManager::SaveSettings() Config::Save(); } -void LogManager::Log(LOG_LEVELS level, LOG_TYPE type, const char* file, int line, - const char* message) +void LogManager::Log(LogLevel level, LogType type, const char* file, int line, const char* message) { if (!IsEnabled(type, level) || !static_cast<bool>(m_listener_ids)) return; @@ -228,7 +224,7 @@ void LogManager::Log(LOG_LEVELS level, LOG_TYPE type, const char* file, int line LogWithFullPath(level, type, file + m_path_cutoff_point, line, message); } -void LogManager::LogWithFullPath(LOG_LEVELS level, LOG_TYPE type, const char* file, int line, +void LogManager::LogWithFullPath(LogLevel level, LogType type, const char* file, int line, const char* message) { const std::string msg = @@ -242,22 +238,22 @@ void LogManager::LogWithFullPath(LOG_LEVELS level, LOG_TYPE type, const char* fi } } -LOG_LEVELS LogManager::GetLogLevel() const +LogLevel LogManager::GetLogLevel() const { return m_level; } -void LogManager::SetLogLevel(LOG_LEVELS level) +void LogManager::SetLogLevel(LogLevel level) { - m_level = level; + m_level = std::clamp(level, LogLevel::LNOTICE, MAX_LOGLEVEL); } -void LogManager::SetEnable(LOG_TYPE type, bool enable) +void LogManager::SetEnable(LogType type, bool enable) { m_log[type].m_enable = enable; } -bool LogManager::IsEnabled(LOG_TYPE type, LOG_LEVELS level) const +bool LogManager::IsEnabled(LogType type, LogLevel level) const { return m_log[type].m_enable && GetLogLevel() >= level; } @@ -267,18 +263,17 @@ std::map<std::string, std::string> LogManager::GetLogTypes() std::map<std::string, std::string> log_types; for (const auto& container : m_log) - { log_types.emplace(container.m_short_name, container.m_full_name); - } + return log_types; } -const char* LogManager::GetShortName(LOG_TYPE type) const +const char* LogManager::GetShortName(LogType type) const { return m_log[type].m_short_name; } -const char* LogManager::GetFullName(LOG_TYPE type) const +const char* LogManager::GetFullName(LogType type) const { return m_log[type].m_full_name; } |
