diff --git a/Common/Log/LogManager.cpp b/Common/Log/LogManager.cpp index d89bdab8bf..ab9aad40e2 100644 --- a/Common/Log/LogManager.cpp +++ b/Common/Log/LogManager.cpp @@ -223,9 +223,9 @@ void LogManager::SetFileLogPath(const Path &filename) { } void LogManager::SaveConfig(Section *section) { - if (channelsChangedByDebugger_) { + if (doNotSaveChannels_) { // Leave the section as whatever was already on disk - see the doc comment on - // NotifyChannelsChangedByDebugger(). + // DoNotSaveChannels(). return; } for (int i = 0; i < (int)Log::NUMBER_OF_LOGS; i++) { diff --git a/Common/Log/LogManager.h b/Common/Log/LogManager.h index 633942164a..60c816aeca 100644 --- a/Common/Log/LogManager.h +++ b/Common/Log/LogManager.h @@ -174,10 +174,11 @@ public: void SaveConfig(Section *section); void LoadConfig(const Section *section); - // Channel level/enabled changes made through the WebSocket debugger (log.channel.set) are - // meant as temporary, session-only diagnostic tweaks - call this so SaveConfig() skips - // writing (and thus permanently overwriting) the user's real saved settings with them. - void NotifyChannelsChangedByDebugger() { channelsChangedByDebugger_ = true; } + // Channel level/enabled changes made through the WebSocket debugger (log.channel.set) or the + // command line (--loglevel, -d, -v) are meant as temporary, session-only diagnostic tweaks - + // call this so SaveConfig() skips writing (and thus permanently overwriting) the user's real + // saved settings with them. Like Config::DoNotSaveSetting, but for all the channels. + void DoNotSaveChannels() { doNotSaveChannels_ = true; } static const char *GetLogTypeName(Log type); @@ -199,7 +200,7 @@ private: void operator=(const LogManager &) = delete; bool initialized_ = false; - bool channelsChangedByDebugger_ = false; + bool doNotSaveChannels_ = false; #if PPSSPP_PLATFORM(WINDOWS) ConsoleListener *consoleLog_ = nullptr; diff --git a/Core/CmdLine.cpp b/Core/CmdLine.cpp index 639c3f6f33..b796ec4a05 100644 --- a/Core/CmdLine.cpp +++ b/Core/CmdLine.cpp @@ -583,6 +583,7 @@ void CommandLineOptions::ApplyToConfig() const { if (logLevel.has_value()) { g_logManager.SetAllLogLevels(logLevel.value()); + g_logManager.DoNotSaveChannels(); } if (oldAtrac.has_value()) { diff --git a/Core/Debugger/WebSocket/LogConfigSubscriber.cpp b/Core/Debugger/WebSocket/LogConfigSubscriber.cpp index f3c6d4abe7..895653b808 100644 --- a/Core/Debugger/WebSocket/LogConfigSubscriber.cpp +++ b/Core/Debugger/WebSocket/LogConfigSubscriber.cpp @@ -121,7 +121,7 @@ void WebSocketLogChannelSet(DebuggerRequest &req) { // These are meant as temporary, session-only diagnostic tweaks - make sure they never // get written back over the user's actual saved log settings. - g_logManager.NotifyChannelsChangedByDebugger(); + g_logManager.DoNotSaveChannels(); if (hasLevel) g_logManager.SetLogLevel(type, level); if (hasEnabled)