From 362de5084ff6b725a5e1ef4640dbe13a0a00e31e Mon Sep 17 00:00:00 2001 From: Akkadius Date: Thu, 15 Jan 2015 22:44:27 -0600 Subject: [PATCH] Add category processing to ProcessGMSay so we don't get a zone crash from feedback loop of GMSay outputting packets, then those packets going to GMSay. This would make a log inside of a log inside of a log, I call it, log inception --- common/eqemu_logsys.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/common/eqemu_logsys.cpp b/common/eqemu_logsys.cpp index d0d7887e4..b60687300 100644 --- a/common/eqemu_logsys.cpp +++ b/common/eqemu_logsys.cpp @@ -138,8 +138,12 @@ std::string EQEmuLogSys::FormatDebugCategoryMessageString(uint16 log_category, s void EQEmuLogSys::ProcessGMSay(uint16 log_type, uint16 log_category, std::string message) { + /* Enabling Netcode based GMSay output creates a feedback loop that ultimately ends in a crash */ + if (log_category == EQEmuLogSys::LogCategory::Netcode) + return; + if (EQEmuLogSys::log_platform == EQEmuExePlatform::ExePlatformZone){ - // on_log_gmsay_hook(log_type, message); + on_log_gmsay_hook(log_type, message); } } @@ -196,9 +200,9 @@ void EQEmuLogSys::LogDebugType(DebugLevel debug_level, uint16 log_category, std: std::string output_debug_message = EQEmuLogSys::FormatDebugCategoryMessageString(log_category, output_message); - EQEmuLogSys::ProcessConsoleMessage(EQEmuLogSys::Debug, 0, output_debug_message); - EQEmuLogSys::ProcessGMSay(EQEmuLogSys::Debug, 0, output_debug_message); - EQEmuLogSys::ProcessLogWrite(EQEmuLogSys::Debug, 0, output_debug_message); + EQEmuLogSys::ProcessConsoleMessage(EQEmuLogSys::Debug, log_category, output_debug_message); + EQEmuLogSys::ProcessGMSay(EQEmuLogSys::Debug, log_category, output_debug_message); + EQEmuLogSys::ProcessLogWrite(EQEmuLogSys::Debug, log_category, output_debug_message); } void EQEmuLogSys::LogDebug(DebugLevel debug_level, std::string message, ...)