From ec31fddbae166ee7b44a0e0e414dbc39ff445904 Mon Sep 17 00:00:00 2001 From: Chris Miles Date: Fri, 16 May 2025 13:39:08 -0500 Subject: [PATCH] [Logging] Auto Update Log Category Names (#4890) --- common/eqemu_logsys.cpp | 35 +++++++++++++++++++++++++++-------- common/eqemu_logsys.h | 12 ++++++------ 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/common/eqemu_logsys.cpp b/common/eqemu_logsys.cpp index 97ee16a19..bb28d0aec 100644 --- a/common/eqemu_logsys.cpp +++ b/common/eqemu_logsys.cpp @@ -682,14 +682,33 @@ EQEmuLogSys *EQEmuLogSys::LoadLogDatabaseSettings(bool silent_load) if (is_missing_in_database && !is_deprecated_category) { LogInfo("Automatically adding new log category [{}] ({})", Logs::LogCategoryName[i], i); - auto new_category = LogsysCategoriesRepository::NewEntity(); - new_category.log_category_id = i; - new_category.log_category_description = Strings::Escape(Logs::LogCategoryName[i]); - new_category.log_to_console = log_settings[i].log_to_console; - new_category.log_to_gmsay = log_settings[i].log_to_gmsay; - new_category.log_to_file = log_settings[i].log_to_file; - new_category.log_to_discord = log_settings[i].log_to_discord; - db_categories_to_add.emplace_back(new_category); + auto e = LogsysCategoriesRepository::NewEntity(); + e.log_category_id = i; + e.log_category_description = Strings::Escape(Logs::LogCategoryName[i]); + e.log_to_console = log_settings[i].log_to_console; + e.log_to_gmsay = log_settings[i].log_to_gmsay; + e.log_to_file = log_settings[i].log_to_file; + e.log_to_discord = log_settings[i].log_to_discord; + db_categories_to_add.emplace_back(e); + } + + // look to see if the category name is different in the database + auto it = std::find_if( + categories.begin(), + categories.end(), + [i](const auto &c) { return c.log_category_id == i; } + ); + if (it != categories.end()) { + if (it->log_category_description != Logs::LogCategoryName[i]) { + LogInfo( + "Updating log category [{}] ({}) to new name [{}]", + it->log_category_description, + i, + Logs::LogCategoryName[i] + ); + it->log_category_description = Logs::LogCategoryName[i]; + LogsysCategoriesRepository::ReplaceOne(*m_database, *it); + } } } diff --git a/common/eqemu_logsys.h b/common/eqemu_logsys.h index d0897a0f7..39c9ab948 100644 --- a/common/eqemu_logsys.h +++ b/common/eqemu_logsys.h @@ -194,8 +194,8 @@ namespace Logs { "Web Interface (Deprecated)", "World Server (Deprecated)", "Zone Server (Deprecated)", - "QueryErr", - "Query", + "MySQL Error", + "MySQL Query", "Mercenaries", "Quest Debug", "Legacy Packet Logging (Deprecated)", @@ -211,15 +211,15 @@ namespace Logs { "Traps", "NPC Roam Box", "NPC Scaling", - "MobAppearance", + "Mob Appearance", "Info", "Warning", "Critical (Deprecated)", "Emergency (Deprecated)", "Alert (Deprecated)", "Notice (Deprecated)", - "AI Scan", - "AI Yell", + "AI Scan Close", + "AI Yell For Help", "AI CastBeneficial", "AOE Cast", "Entity Management", @@ -237,7 +237,7 @@ namespace Logs { "DialogueWindow", "HTTP", "Saylink", - "ChecksumVer", + "Checksum Verification", "CombatRecord", "Hate", "Discord",