diff --git a/client_files/export/main.cpp b/client_files/export/main.cpp index c75645f88..3e66e259d 100644 --- a/client_files/export/main.cpp +++ b/client_files/export/main.cpp @@ -38,7 +38,6 @@ #include "../../common/skill_caps.h" #include "../../common/evolving_items.h" -EQEmuLogSys LogSys; WorldContentService content_service; PlayerEventLogs player_event_logs; EvolvingItemsManager evolving_items_manager; @@ -51,7 +50,7 @@ void ExportDBStrings(SharedDatabase *db); int main(int argc, char **argv) { RegisterExecutablePlatform(ExePlatformClientExport); - LogSys.LoadLogSettingsDefaults(); + EQEmuLogSys::Instance()->LoadLogSettingsDefaults(); set_exception_handler(); PathManager::Instance()->Init(); @@ -97,7 +96,7 @@ int main(int argc, char **argv) content_db.SetMySQL(database); } - LogSys.SetDatabase(&database) + EQEmuLogSys::Instance()->SetDatabase(&database) ->SetLogPath(PathManager::Instance()->GetLogPath()) ->LoadLogDatabaseSettings() ->StartFileLogs(); @@ -127,7 +126,7 @@ int main(int argc, char **argv) ExportBaseData(&content_db); ExportDBStrings(&database); - LogSys.CloseFileLogs(); + EQEmuLogSys::Instance()->CloseFileLogs(); return 0; } diff --git a/client_files/import/main.cpp b/client_files/import/main.cpp index 36bcdedf2..312a8a5d4 100644 --- a/client_files/import/main.cpp +++ b/client_files/import/main.cpp @@ -32,7 +32,6 @@ #include "../../common/events/player_event_logs.h" #include "../../common/evolving_items.h" -EQEmuLogSys LogSys; WorldContentService content_service; PlayerEventLogs player_event_logs; EvolvingItemsManager evolving_items_manager; @@ -44,7 +43,7 @@ void ImportDBStrings(SharedDatabase *db); int main(int argc, char **argv) { RegisterExecutablePlatform(ExePlatformClientImport); - LogSys.LoadLogSettingsDefaults(); + EQEmuLogSys::Instance()->LoadLogSettingsDefaults(); set_exception_handler(); PathManager::Instance()->Init(); @@ -90,7 +89,7 @@ int main(int argc, char **argv) { content_db.SetMySQL(database); } - LogSys.SetDatabase(&database) + EQEmuLogSys::Instance()->SetDatabase(&database) ->SetLogPath(PathManager::Instance()->GetLogPath()) ->LoadLogDatabaseSettings() ->StartFileLogs(); @@ -100,7 +99,7 @@ int main(int argc, char **argv) { ImportBaseData(&content_db); ImportDBStrings(&database); - LogSys.CloseFileLogs(); + EQEmuLogSys::Instance()->CloseFileLogs(); return 0; } diff --git a/common/crash.cpp b/common/crash.cpp index 3828a9af0..968a7c5ff 100644 --- a/common/crash.cpp +++ b/common/crash.cpp @@ -27,6 +27,8 @@ void SendCrashReport(const std::string &crash_report) // "http://localhost:3010/api/v1/analytics/server-crash-report", // development }; + EQEmuLogSys* log = EQEmuLogSys::Instance(); + auto config = EQEmuConfig::get(); for (auto &e: endpoints) { uri u(e); @@ -68,12 +70,12 @@ void SendCrashReport(const std::string &crash_report) p["cpus"] = cpus.size(); p["origination_info"] = ""; - if (!LogSys.origination_info.zone_short_name.empty()) { + if (!log->origination_info.zone_short_name.empty()) { p["origination_info"] = fmt::format( "{} ({}) instance_id [{}]", - LogSys.origination_info.zone_short_name, - LogSys.origination_info.zone_long_name, - LogSys.origination_info.instance_id + log->origination_info.zone_short_name, + log->origination_info.zone_long_name, + log->origination_info.instance_id ); } @@ -294,7 +296,7 @@ void print_trace() SendCrashReport(crash_report); } - LogSys.CloseFileLogs(); + EQEmuLogSys::Instance()->CloseFileLogs(); exit(1); } diff --git a/common/database/database_dump_service.cpp b/common/database/database_dump_service.cpp index acf0f4de0..6cbea2d48 100644 --- a/common/database/database_dump_service.cpp +++ b/common/database/database_dump_service.cpp @@ -204,7 +204,7 @@ void DatabaseDumpService::DatabaseDump() } if (IsDumpOutputToConsole()) { - LogSys.SilenceConsoleLogging(); + EQEmuLogSys::Instance()->SilenceConsoleLogging(); } LogInfo("MySQL installed [{}]", GetMySQLVersion()); @@ -324,7 +324,7 @@ void DatabaseDumpService::DatabaseDump() } if (!IsDumpOutputToConsole()) { - LogSys.LoadLogSettingsDefaults(); + EQEmuLogSys::Instance()->LoadLogSettingsDefaults(); } if (!pipe_file.empty()) { diff --git a/common/database/database_update.cpp b/common/database/database_update.cpp index c82e2e727..d296aa92b 100644 --- a/common/database/database_update.cpp +++ b/common/database/database_update.cpp @@ -154,7 +154,7 @@ bool DatabaseUpdate::UpdateManifest( std::vector missing_migrations = {}; if (version_low != version_high) { - LogSys.DisableMySQLErrorLogs(); + EQEmuLogSys::Instance()->DisableMySQLErrorLogs(); bool force_interactive = false; for (int version = version_low + 1; version <= version_high; ++version) { for (auto &e: entries) { @@ -184,7 +184,7 @@ bool DatabaseUpdate::UpdateManifest( } } } - LogSys.EnableMySQLErrorLogs(); + EQEmuLogSys::Instance()->EnableMySQLErrorLogs(); LogInfo("{}", Strings::Repeat("-", BREAK_LENGTH)); if (!missing_migrations.empty() && m_skip_backup) { diff --git a/common/dbcore.cpp b/common/dbcore.cpp index a6117cfd2..ff0afac3a 100644 --- a/common/dbcore.cpp +++ b/common/dbcore.cpp @@ -160,7 +160,7 @@ MySQLRequestResult DBcore::QueryDatabase(const char *query, uint32 querylen, boo (uint32) mysql_insert_id(mysql) ); - if (LogSys.log_settings[Logs::MySQLQuery].is_category_enabled == 1) { + if (EQEmuLogSys::Instance()->log_settings[Logs::MySQLQuery].is_category_enabled == 1) { if ((strncasecmp(query, "select", 6) == 0)) { LogMySQLQuery( "{0} -- ({1} row{2} returned) ({3}s)", diff --git a/common/discord/discord_manager.cpp b/common/discord/discord_manager.cpp index a425d4c34..dd84d863f 100644 --- a/common/discord/discord_manager.cpp +++ b/common/discord/discord_manager.cpp @@ -26,7 +26,7 @@ void DiscordManager::ProcessMessageQueue() continue; } - auto webhook = LogSys.GetDiscordWebhooks()[q.first]; + auto webhook = EQEmuLogSys::Instance()->GetDiscordWebhooks()[q.first]; std::string message; for (auto &m: q.second) { diff --git a/common/eq_stream.cpp b/common/eq_stream.cpp index 0182c53f4..d17ed54c0 100644 --- a/common/eq_stream.cpp +++ b/common/eq_stream.cpp @@ -545,13 +545,13 @@ void EQStream::SendPacket(uint16 opcode, EQApplicationPacket *p) uint32 chunksize, used; uint32 length; - if (LogSys.log_settings[Logs::Server_Client_Packet].is_category_enabled == 1){ + if (EQEmuLogSys::Instance()->log_settings[Logs::Server_Client_Packet].is_category_enabled == 1){ if (p->GetOpcode() != OP_SpecialMesg){ Log(Logs::General, Logs::Server_Client_Packet, "[%s - 0x%04x] [Size: %u]", OpcodeManager::EmuToName(p->GetOpcode()), p->GetOpcode(), p->Size()); } } - if (LogSys.log_settings[Logs::Server_Client_Packet_With_Dump].is_category_enabled == 1){ + if (EQEmuLogSys::Instance()->log_settings[Logs::Server_Client_Packet_With_Dump].is_category_enabled == 1){ if (p->GetOpcode() != OP_SpecialMesg){ Log(Logs::General, Logs::Server_Client_Packet_With_Dump, "[%s - 0x%04x] [Size: %u] %s", OpcodeManager::EmuToName(p->GetOpcode()), p->GetOpcode(), p->Size(), DumpPacketToString(p).c_str()); } diff --git a/common/eqemu_logsys.cpp b/common/eqemu_logsys.cpp index 3e9fc9402..0d735b407 100644 --- a/common/eqemu_logsys.cpp +++ b/common/eqemu_logsys.cpp @@ -656,7 +656,7 @@ EQEmuLogSys *EQEmuLogSys::LoadLogDatabaseSettings(bool silent_load) // If we go through this whole loop and nothing is set to any debug level, there // is no point to create a file or keep anything open if (log_settings[c.log_category_id].log_to_file > 0) { - LogSys.m_file_logs_enabled = true; + m_file_logs_enabled = true; } db_categories.emplace_back(c.log_category_id); diff --git a/common/eqemu_logsys.h b/common/eqemu_logsys.h index 39c9ab948..0757b3e98 100644 --- a/common/eqemu_logsys.h +++ b/common/eqemu_logsys.h @@ -266,8 +266,6 @@ namespace Logs { }; } -#include "eqemu_logsys_log_aliases.h" - class Database; constexpr uint16 MAX_DISCORD_WEBHOOK_ID = 300; @@ -285,6 +283,12 @@ public: EQEmuLogSys *LoadLogSettingsDefaults(); EQEmuLogSys *LoadLogDatabaseSettings(bool silent_load = false); + static EQEmuLogSys *Instance() + { + static EQEmuLogSys instance; + return &instance; + } + /** * @param directory_name */ @@ -350,7 +354,7 @@ public: /** * Internally used memory reference for all log settings per category * These are loaded via DB and have defaults loaded in LoadLogSettingsDefaults - * Database loaded via LogSys.SetDatabase(&database)->LoadLogDatabaseSettings(); + * Database loaded via EQEmuLogSys::Instance()->SetDatabase(&database)->LoadLogDatabaseSettings(); */ LogSettings log_settings[Logs::LogCategory::MaxCategoryID]{}; @@ -434,7 +438,7 @@ private: void InjectTablesIfNotExist(); }; -extern EQEmuLogSys LogSys; +#include "eqemu_logsys_log_aliases.h" /** template @@ -456,7 +460,7 @@ void OutF( #define OutF(ls, debug_level, log_category, file, func, line, formatStr, ...) \ do { \ - ls.Out(debug_level, log_category, file, func, line, fmt::format(formatStr, ##__VA_ARGS__).c_str()); \ + ls->Out(debug_level, log_category, file, func, line, fmt::format(formatStr, ##__VA_ARGS__).c_str()); \ } while(0) #endif diff --git a/common/eqemu_logsys_log_aliases.h b/common/eqemu_logsys_log_aliases.h index 55fa7fa20..a2c88a03f 100644 --- a/common/eqemu_logsys_log_aliases.h +++ b/common/eqemu_logsys_log_aliases.h @@ -21,917 +21,919 @@ #ifndef EQEMU_EQEMU_LOGSYS_LOG_ALIASES_H #define EQEMU_EQEMU_LOGSYS_LOG_ALIASES_H +inline auto logsys = EQEmuLogSys::Instance(); + #define LogAA(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::AA))\ - OutF(LogSys, Logs::General, Logs::AA, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::AA))\ + OutF(logsys, Logs::General, Logs::AA, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAADetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::AA))\ - OutF(LogSys, Logs::Detail, Logs::AA, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::AA))\ + OutF(logsys, Logs::Detail, Logs::AA, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAI(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::AI))\ - OutF(LogSys, Logs::General, Logs::AI, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::AI))\ + OutF(logsys, Logs::General, Logs::AI, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAIDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::AI))\ - OutF(LogSys, Logs::Detail, Logs::AI, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::AI))\ + OutF(logsys, Logs::Detail, Logs::AI, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAggro(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Aggro))\ - OutF(LogSys, Logs::General, Logs::Aggro, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Aggro))\ + OutF(logsys, Logs::General, Logs::Aggro, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAggroDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Aggro))\ - OutF(LogSys, Logs::Detail, Logs::Aggro, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Aggro))\ + OutF(logsys, Logs::Detail, Logs::Aggro, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAttack(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Attack))\ - OutF(LogSys, Logs::General, Logs::Attack, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Attack))\ + OutF(logsys, Logs::General, Logs::Attack, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAttackDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Attack))\ - OutF(LogSys, Logs::Detail, Logs::Attack, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Attack))\ + OutF(logsys, Logs::Detail, Logs::Attack, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogPacketClientServer(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::PacketClientServer))\ - OutF(LogSys, Logs::General, Logs::PacketClientServer, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::PacketClientServer))\ + OutF(logsys, Logs::General, Logs::PacketClientServer, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogPacketClientServerDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::PacketClientServer))\ - OutF(LogSys, Logs::Detail, Logs::PacketClientServer, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::PacketClientServer))\ + OutF(logsys, Logs::Detail, Logs::PacketClientServer, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCombat(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Combat))\ - OutF(LogSys, Logs::General, Logs::Combat, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Combat))\ + OutF(logsys, Logs::General, Logs::Combat, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCombatDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Combat))\ - OutF(LogSys, Logs::Detail, Logs::Combat, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Combat))\ + OutF(logsys, Logs::Detail, Logs::Combat, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCommands(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Commands))\ - OutF(LogSys, Logs::General, Logs::Commands, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Commands))\ + OutF(logsys, Logs::General, Logs::Commands, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCommandsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Commands))\ - OutF(LogSys, Logs::Detail, Logs::Commands, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Commands))\ + OutF(logsys, Logs::Detail, Logs::Commands, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCrash(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Crash))\ - OutF(LogSys, Logs::General, Logs::Crash, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Crash))\ + OutF(logsys, Logs::General, Logs::Crash, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCrashDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Crash))\ - OutF(LogSys, Logs::Detail, Logs::Crash, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Crash))\ + OutF(logsys, Logs::Detail, Logs::Crash, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogDebug(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Debug))\ - OutF(LogSys, Logs::General, Logs::Debug, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Debug))\ + OutF(logsys, Logs::General, Logs::Debug, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogDebugDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Debug))\ - OutF(LogSys, Logs::Detail, Logs::Debug, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Debug))\ + OutF(logsys, Logs::Detail, Logs::Debug, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogDoors(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Doors))\ - OutF(LogSys, Logs::General, Logs::Doors, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Doors))\ + OutF(logsys, Logs::General, Logs::Doors, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogDoorsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Doors))\ - OutF(LogSys, Logs::Detail, Logs::Doors, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Doors))\ + OutF(logsys, Logs::Detail, Logs::Doors, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogError(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Error))\ - OutF(LogSys, Logs::General, Logs::Error, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Error))\ + OutF(logsys, Logs::General, Logs::Error, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogErrorDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Error))\ - OutF(LogSys, Logs::Detail, Logs::Error, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Error))\ + OutF(logsys, Logs::Detail, Logs::Error, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogEvolveItem(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::EvolveItem))\ - OutF(LogSys, Logs::General, Logs::EvolveItem, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::EvolveItem))\ + OutF(logsys, Logs::General, Logs::EvolveItem, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogEvolveItemDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::EvolveItem))\ - OutF(LogSys, Logs::Detail, Logs::EvolveItem, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::EvolveItem))\ + OutF(logsys, Logs::Detail, Logs::EvolveItem, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogGuilds(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Guilds))\ - OutF(LogSys, Logs::General, Logs::Guilds, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Guilds))\ + OutF(logsys, Logs::General, Logs::Guilds, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogGuildsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Guilds))\ - OutF(LogSys, Logs::Detail, Logs::Guilds, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Guilds))\ + OutF(logsys, Logs::Detail, Logs::Guilds, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogInventory(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Inventory))\ - OutF(LogSys, Logs::General, Logs::Inventory, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Inventory))\ + OutF(logsys, Logs::General, Logs::Inventory, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogInventoryDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Inventory))\ - OutF(LogSys, Logs::Detail, Logs::Inventory, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Inventory))\ + OutF(logsys, Logs::Detail, Logs::Inventory, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogLauncher(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Launcher))\ - OutF(LogSys, Logs::General, Logs::Launcher, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Launcher))\ + OutF(logsys, Logs::General, Logs::Launcher, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogLauncherDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Launcher))\ - OutF(LogSys, Logs::Detail, Logs::Launcher, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Launcher))\ + OutF(logsys, Logs::Detail, Logs::Launcher, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNetcode(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Netcode))\ - OutF(LogSys, Logs::General, Logs::Netcode, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Netcode))\ + OutF(logsys, Logs::General, Logs::Netcode, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNetcodeDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Netcode))\ - OutF(LogSys, Logs::Detail, Logs::Netcode, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Netcode))\ + OutF(logsys, Logs::Detail, Logs::Netcode, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNormal(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Normal))\ - OutF(LogSys, Logs::General, Logs::Normal, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Normal))\ + OutF(logsys, Logs::General, Logs::Normal, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNormalDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Normal))\ - OutF(LogSys, Logs::Detail, Logs::Normal, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Normal))\ + OutF(logsys, Logs::Detail, Logs::Normal, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogObject(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Object))\ - OutF(LogSys, Logs::General, Logs::Object, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Object))\ + OutF(logsys, Logs::General, Logs::Object, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogObjectDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Object))\ - OutF(LogSys, Logs::Detail, Logs::Object, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Object))\ + OutF(logsys, Logs::Detail, Logs::Object, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogPathing(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Pathing))\ - OutF(LogSys, Logs::General, Logs::Pathing, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Pathing))\ + OutF(logsys, Logs::General, Logs::Pathing, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogPathingDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Pathing))\ - OutF(LogSys, Logs::Detail, Logs::Pathing, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Pathing))\ + OutF(logsys, Logs::Detail, Logs::Pathing, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogQuests(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Quests))\ - OutF(LogSys, Logs::General, Logs::Quests, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Quests))\ + OutF(logsys, Logs::General, Logs::Quests, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogQuestsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Quests))\ - OutF(LogSys, Logs::Detail, Logs::Quests, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Quests))\ + OutF(logsys, Logs::Detail, Logs::Quests, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogRules(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Rules))\ - OutF(LogSys, Logs::General, Logs::Rules, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Rules))\ + OutF(logsys, Logs::General, Logs::Rules, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogRulesDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Rules))\ - OutF(LogSys, Logs::Detail, Logs::Rules, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Rules))\ + OutF(logsys, Logs::Detail, Logs::Rules, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogSkills(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Skills))\ - OutF(LogSys, Logs::General, Logs::Skills, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Skills))\ + OutF(logsys, Logs::General, Logs::Skills, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogSkillsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Skills))\ - OutF(LogSys, Logs::Detail, Logs::Skills, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Skills))\ + OutF(logsys, Logs::Detail, Logs::Skills, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogSpawns(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Spawns))\ - OutF(LogSys, Logs::General, Logs::Spawns, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Spawns))\ + OutF(logsys, Logs::General, Logs::Spawns, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogSpawnsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Spawns))\ - OutF(LogSys, Logs::Detail, Logs::Spawns, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Spawns))\ + OutF(logsys, Logs::Detail, Logs::Spawns, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogSpells(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Spells))\ - OutF(LogSys, Logs::General, Logs::Spells, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Spells))\ + OutF(logsys, Logs::General, Logs::Spells, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogSpellsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Spells))\ - OutF(LogSys, Logs::Detail, Logs::Spells, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Spells))\ + OutF(logsys, Logs::Detail, Logs::Spells, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogTasks(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Tasks))\ - OutF(LogSys, Logs::General, Logs::Tasks, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Tasks))\ + OutF(logsys, Logs::General, Logs::Tasks, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogTasksDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Tasks))\ - OutF(LogSys, Logs::Detail, Logs::Tasks, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Tasks))\ + OutF(logsys, Logs::Detail, Logs::Tasks, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogTradeskills(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Tradeskills))\ - OutF(LogSys, Logs::General, Logs::Tradeskills, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Tradeskills))\ + OutF(logsys, Logs::General, Logs::Tradeskills, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogTradeskillsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Tradeskills))\ - OutF(LogSys, Logs::Detail, Logs::Tradeskills, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Tradeskills))\ + OutF(logsys, Logs::Detail, Logs::Tradeskills, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogTrading(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Trading))\ - OutF(LogSys, Logs::General, Logs::Trading, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Trading))\ + OutF(logsys, Logs::General, Logs::Trading, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogTradingDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Trading))\ - OutF(LogSys, Logs::Detail, Logs::Trading, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Trading))\ + OutF(logsys, Logs::Detail, Logs::Trading, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogTribute(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Tribute))\ - OutF(LogSys, Logs::General, Logs::Tribute, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Tribute))\ + OutF(logsys, Logs::General, Logs::Tribute, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogTributeDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Tribute))\ - OutF(LogSys, Logs::Detail, Logs::Tribute, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Tribute))\ + OutF(logsys, Logs::Detail, Logs::Tribute, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogMySQLError(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::MySQLError))\ - OutF(LogSys, Logs::General, Logs::MySQLError, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::MySQLError))\ + OutF(logsys, Logs::General, Logs::MySQLError, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogMySQLErrorDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::MySQLError))\ - OutF(LogSys, Logs::Detail, Logs::MySQLError, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::MySQLError))\ + OutF(logsys, Logs::Detail, Logs::MySQLError, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogMySQLQuery(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::MySQLQuery))\ - OutF(LogSys, Logs::General, Logs::MySQLQuery, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::MySQLQuery))\ + OutF(logsys, Logs::General, Logs::MySQLQuery, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogMySQLQueryDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::MySQLQuery))\ - OutF(LogSys, Logs::Detail, Logs::MySQLQuery, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::MySQLQuery))\ + OutF(logsys, Logs::Detail, Logs::MySQLQuery, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogMercenaries(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Mercenaries))\ - OutF(LogSys, Logs::General, Logs::Mercenaries, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Mercenaries))\ + OutF(logsys, Logs::General, Logs::Mercenaries, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogMercenariesDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Mercenaries))\ - OutF(LogSys, Logs::Detail, Logs::Mercenaries, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Mercenaries))\ + OutF(logsys, Logs::Detail, Logs::Mercenaries, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogQuestDebug(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::QuestDebug))\ - OutF(LogSys, Logs::General, Logs::QuestDebug, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::QuestDebug))\ + OutF(logsys, Logs::General, Logs::QuestDebug, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogQuestDebugDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::QuestDebug))\ - OutF(LogSys, Logs::Detail, Logs::QuestDebug, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::QuestDebug))\ + OutF(logsys, Logs::Detail, Logs::QuestDebug, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogPacketServerClient(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::PacketServerClient))\ - OutF(LogSys, Logs::General, Logs::PacketServerClient, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::PacketServerClient))\ + OutF(logsys, Logs::General, Logs::PacketServerClient, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogPacketServerClientDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::PacketServerClient))\ - OutF(LogSys, Logs::Detail, Logs::PacketServerClient, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::PacketServerClient))\ + OutF(logsys, Logs::Detail, Logs::PacketServerClient, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogLoginserver(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Loginserver))\ - OutF(LogSys, Logs::General, Logs::Loginserver, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Loginserver))\ + OutF(logsys, Logs::General, Logs::Loginserver, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogLoginserverDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Loginserver))\ - OutF(LogSys, Logs::Detail, Logs::Loginserver, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Loginserver))\ + OutF(logsys, Logs::Detail, Logs::Loginserver, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogClientLogin(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::ClientLogin))\ - OutF(LogSys, Logs::General, Logs::ClientLogin, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::ClientLogin))\ + OutF(logsys, Logs::General, Logs::ClientLogin, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogClientLoginDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::ClientLogin))\ - OutF(LogSys, Logs::Detail, Logs::ClientLogin, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::ClientLogin))\ + OutF(logsys, Logs::Detail, Logs::ClientLogin, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogHPUpdate(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::HPUpdate))\ - OutF(LogSys, Logs::General, Logs::HPUpdate, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::HPUpdate))\ + OutF(logsys, Logs::General, Logs::HPUpdate, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogHPUpdateDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::HPUpdate))\ - OutF(LogSys, Logs::Detail, Logs::HPUpdate, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::HPUpdate))\ + OutF(logsys, Logs::Detail, Logs::HPUpdate, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogFixZ(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::FixZ))\ - OutF(LogSys, Logs::General, Logs::FixZ, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::FixZ))\ + OutF(logsys, Logs::General, Logs::FixZ, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogFixZDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::FixZ))\ - OutF(LogSys, Logs::Detail, Logs::FixZ, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::FixZ))\ + OutF(logsys, Logs::Detail, Logs::FixZ, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogFood(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Food))\ - OutF(LogSys, Logs::General, Logs::Food, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Food))\ + OutF(logsys, Logs::General, Logs::Food, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogFoodDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Food))\ - OutF(LogSys, Logs::Detail, Logs::Food, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Food))\ + OutF(logsys, Logs::Detail, Logs::Food, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogTraps(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Traps))\ - OutF(LogSys, Logs::General, Logs::Traps, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Traps))\ + OutF(logsys, Logs::General, Logs::Traps, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogTrapsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Traps))\ - OutF(LogSys, Logs::Detail, Logs::Traps, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Traps))\ + OutF(logsys, Logs::Detail, Logs::Traps, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNPCRoamBox(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::NPCRoamBox))\ - OutF(LogSys, Logs::General, Logs::NPCRoamBox, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::NPCRoamBox))\ + OutF(logsys, Logs::General, Logs::NPCRoamBox, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNPCRoamBoxDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::NPCRoamBox))\ - OutF(LogSys, Logs::Detail, Logs::NPCRoamBox, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::NPCRoamBox))\ + OutF(logsys, Logs::Detail, Logs::NPCRoamBox, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNPCScaling(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::NPCScaling))\ - OutF(LogSys, Logs::General, Logs::NPCScaling, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::NPCScaling))\ + OutF(logsys, Logs::General, Logs::NPCScaling, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNPCScalingDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::NPCScaling))\ - OutF(LogSys, Logs::Detail, Logs::NPCScaling, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::NPCScaling))\ + OutF(logsys, Logs::Detail, Logs::NPCScaling, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogMobAppearance(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::MobAppearance))\ - OutF(LogSys, Logs::General, Logs::MobAppearance, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::MobAppearance))\ + OutF(logsys, Logs::General, Logs::MobAppearance, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogMobAppearanceDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::MobAppearance))\ - OutF(LogSys, Logs::Detail, Logs::MobAppearance, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::MobAppearance))\ + OutF(logsys, Logs::Detail, Logs::MobAppearance, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogInfo(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Info))\ - OutF(LogSys, Logs::General, Logs::Info, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Info))\ + OutF(logsys, Logs::General, Logs::Info, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogInfoDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Info))\ - OutF(LogSys, Logs::Detail, Logs::Info, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Info))\ + OutF(logsys, Logs::Detail, Logs::Info, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogWarning(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Warning))\ - OutF(LogSys, Logs::General, Logs::Warning, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Warning))\ + OutF(logsys, Logs::General, Logs::Warning, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogWarningDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Warning))\ - OutF(LogSys, Logs::Detail, Logs::Warning, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Warning))\ + OutF(logsys, Logs::Detail, Logs::Warning, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCritical(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Critical))\ - OutF(LogSys, Logs::General, Logs::Critical, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Critical))\ + OutF(logsys, Logs::General, Logs::Critical, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCriticalDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Critical))\ - OutF(LogSys, Logs::Detail, Logs::Critical, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Critical))\ + OutF(logsys, Logs::Detail, Logs::Critical, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogEmergency(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Emergency))\ - OutF(LogSys, Logs::General, Logs::Emergency, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Emergency))\ + OutF(logsys, Logs::General, Logs::Emergency, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogEmergencyDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Emergency))\ - OutF(LogSys, Logs::Detail, Logs::Emergency, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Emergency))\ + OutF(logsys, Logs::Detail, Logs::Emergency, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAlert(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Alert))\ - OutF(LogSys, Logs::General, Logs::Alert, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Alert))\ + OutF(logsys, Logs::General, Logs::Alert, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAlertDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Alert))\ - OutF(LogSys, Logs::Detail, Logs::Alert, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Alert))\ + OutF(logsys, Logs::Detail, Logs::Alert, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNotice(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Notice))\ - OutF(LogSys, Logs::General, Logs::Notice, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Notice))\ + OutF(logsys, Logs::General, Logs::Notice, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNoticeDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Notice))\ - OutF(LogSys, Logs::Detail, Logs::Notice, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Notice))\ + OutF(logsys, Logs::Detail, Logs::Notice, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAIScanClose(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::AIScanClose))\ - OutF(LogSys, Logs::General, Logs::AIScanClose, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::AIScanClose))\ + OutF(logsys, Logs::General, Logs::AIScanClose, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAIScanCloseDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::AIScanClose))\ - OutF(LogSys, Logs::Detail, Logs::AIScanClose, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::AIScanClose))\ + OutF(logsys, Logs::Detail, Logs::AIScanClose, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAIYellForHelp(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::AIYellForHelp))\ - OutF(LogSys, Logs::General, Logs::AIYellForHelp, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::AIYellForHelp))\ + OutF(logsys, Logs::General, Logs::AIYellForHelp, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAIYellForHelpDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::AIYellForHelp))\ - OutF(LogSys, Logs::Detail, Logs::AIYellForHelp, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::AIYellForHelp))\ + OutF(logsys, Logs::Detail, Logs::AIYellForHelp, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAICastBeneficialClose(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::AICastBeneficialClose))\ - OutF(LogSys, Logs::General, Logs::AICastBeneficialClose, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::AICastBeneficialClose))\ + OutF(logsys, Logs::General, Logs::AICastBeneficialClose, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAICastBeneficialCloseDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::AICastBeneficialClose))\ - OutF(LogSys, Logs::Detail, Logs::AICastBeneficialClose, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::AICastBeneficialClose))\ + OutF(logsys, Logs::Detail, Logs::AICastBeneficialClose, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAoeCast(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::AoeCast))\ - OutF(LogSys, Logs::General, Logs::AoeCast, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::AoeCast))\ + OutF(logsys, Logs::General, Logs::AoeCast, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAoeCastDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::AoeCast))\ - OutF(LogSys, Logs::Detail, Logs::AoeCast, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::AoeCast))\ + OutF(logsys, Logs::Detail, Logs::AoeCast, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogEntityManagement(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::EntityManagement))\ - OutF(LogSys, Logs::General, Logs::EntityManagement, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::EntityManagement))\ + OutF(logsys, Logs::General, Logs::EntityManagement, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogEntityManagementDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::EntityManagement))\ - OutF(LogSys, Logs::Detail, Logs::EntityManagement, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::EntityManagement))\ + OutF(logsys, Logs::Detail, Logs::EntityManagement, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogFlee(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Flee))\ - OutF(LogSys, Logs::General, Logs::Flee, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Flee))\ + OutF(logsys, Logs::General, Logs::Flee, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogFleeDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Flee))\ - OutF(LogSys, Logs::Detail, Logs::Flee, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Flee))\ + OutF(logsys, Logs::Detail, Logs::Flee, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAura(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Aura))\ - OutF(LogSys, Logs::General, Logs::Aura, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Aura))\ + OutF(logsys, Logs::General, Logs::Aura, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogAuraDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Aura))\ - OutF(LogSys, Logs::Detail, Logs::Aura, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Aura))\ + OutF(logsys, Logs::Detail, Logs::Aura, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogHotReload(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::HotReload))\ - OutF(LogSys, Logs::General, Logs::HotReload, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::HotReload))\ + OutF(logsys, Logs::General, Logs::HotReload, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogHotReloadDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::HotReload))\ - OutF(LogSys, Logs::Detail, Logs::HotReload, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::HotReload))\ + OutF(logsys, Logs::Detail, Logs::HotReload, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogMerchants(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Merchants))\ - OutF(LogSys, Logs::General, Logs::Merchants, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Merchants))\ + OutF(logsys, Logs::General, Logs::Merchants, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogMerchantsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Merchants))\ - OutF(LogSys, Logs::Detail, Logs::Merchants, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Merchants))\ + OutF(logsys, Logs::Detail, Logs::Merchants, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogZonePoints(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::ZonePoints))\ - OutF(LogSys, Logs::General, Logs::ZonePoints, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::ZonePoints))\ + OutF(logsys, Logs::General, Logs::ZonePoints, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogZonePointsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::ZonePoints))\ - OutF(LogSys, Logs::Detail, Logs::ZonePoints, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::ZonePoints))\ + OutF(logsys, Logs::Detail, Logs::ZonePoints, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogLoot(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Loot))\ - OutF(LogSys, Logs::General, Logs::Loot, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Loot))\ + OutF(logsys, Logs::General, Logs::Loot, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogLootDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Loot))\ - OutF(LogSys, Logs::Detail, Logs::Loot, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Loot))\ + OutF(logsys, Logs::Detail, Logs::Loot, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogExpeditions(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Expeditions))\ - OutF(LogSys, Logs::General, Logs::Expeditions, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Expeditions))\ + OutF(logsys, Logs::General, Logs::Expeditions, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogExpeditionsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Expeditions))\ - OutF(LogSys, Logs::Detail, Logs::Expeditions, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Expeditions))\ + OutF(logsys, Logs::Detail, Logs::Expeditions, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogDynamicZones(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::DynamicZones))\ - OutF(LogSys, Logs::General, Logs::DynamicZones, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::DynamicZones))\ + OutF(logsys, Logs::General, Logs::DynamicZones, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogDynamicZonesDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::DynamicZones))\ - OutF(LogSys, Logs::Detail, Logs::DynamicZones, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::DynamicZones))\ + OutF(logsys, Logs::Detail, Logs::DynamicZones, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogScheduler(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Scheduler))\ - OutF(LogSys, Logs::General, Logs::Scheduler, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Scheduler))\ + OutF(logsys, Logs::General, Logs::Scheduler, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogSchedulerDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Scheduler))\ - OutF(LogSys, Logs::Detail, Logs::Scheduler, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Scheduler))\ + OutF(logsys, Logs::Detail, Logs::Scheduler, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCheat(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Cheat))\ - OutF(LogSys, Logs::General, Logs::Cheat, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Cheat))\ + OutF(logsys, Logs::General, Logs::Cheat, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCheatDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Cheat))\ - OutF(LogSys, Logs::Detail, Logs::Cheat, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Cheat))\ + OutF(logsys, Logs::Detail, Logs::Cheat, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogClientList(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::ClientList))\ - OutF(LogSys, Logs::General, Logs::ClientList, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::ClientList))\ + OutF(logsys, Logs::General, Logs::ClientList, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogClientListDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::ClientList))\ - OutF(LogSys, Logs::Detail, Logs::ClientList, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::ClientList))\ + OutF(logsys, Logs::Detail, Logs::ClientList, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogDiaWind(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::DiaWind))\ - OutF(LogSys, Logs::General, Logs::DiaWind, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::DiaWind))\ + OutF(logsys, Logs::General, Logs::DiaWind, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogDiaWindDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::DiaWind))\ - OutF(LogSys, Logs::Detail, Logs::DiaWind, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::DiaWind))\ + OutF(logsys, Logs::Detail, Logs::DiaWind, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogHTTP(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::HTTP))\ - OutF(LogSys, Logs::General, Logs::HTTP, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::HTTP))\ + OutF(logsys, Logs::General, Logs::HTTP, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogHTTPDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::HTTP))\ - OutF(LogSys, Logs::Detail, Logs::HTTP, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::HTTP))\ + OutF(logsys, Logs::Detail, Logs::HTTP, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogSaylink(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Saylink))\ - OutF(LogSys, Logs::General, Logs::Saylink, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Saylink))\ + OutF(logsys, Logs::General, Logs::Saylink, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogSaylinkDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Saylink))\ - OutF(LogSys, Logs::Detail, Logs::Saylink, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Saylink))\ + OutF(logsys, Logs::Detail, Logs::Saylink, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogChecksumVerification(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::ChecksumVerification))\ - OutF(LogSys, Logs::General, Logs::ChecksumVerification, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::ChecksumVerification))\ + OutF(logsys, Logs::General, Logs::ChecksumVerification, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogChecksumVerificationDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::ChecksumVerification))\ - OutF(LogSys, Logs::Detail, Logs::ChecksumVerification, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::ChecksumVerification))\ + OutF(logsys, Logs::Detail, Logs::ChecksumVerification, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCombatRecord(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::CombatRecord))\ - OutF(LogSys, Logs::General, Logs::CombatRecord, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::CombatRecord))\ + OutF(logsys, Logs::General, Logs::CombatRecord, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCombatRecordDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::CombatRecord))\ - OutF(LogSys, Logs::Detail, Logs::CombatRecord, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::CombatRecord))\ + OutF(logsys, Logs::Detail, Logs::CombatRecord, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogHate(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Hate))\ - OutF(LogSys, Logs::General, Logs::Hate, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Hate))\ + OutF(logsys, Logs::General, Logs::Hate, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogHateDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Hate))\ - OutF(LogSys, Logs::Detail, Logs::Hate, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Hate))\ + OutF(logsys, Logs::Detail, Logs::Hate, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogDiscord(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Discord))\ - OutF(LogSys, Logs::General, Logs::Discord, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Discord))\ + OutF(logsys, Logs::General, Logs::Discord, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogDiscordDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Discord))\ - OutF(LogSys, Logs::Detail, Logs::Discord, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Discord))\ + OutF(logsys, Logs::Detail, Logs::Discord, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogFaction(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Faction))\ - OutF(LogSys, Logs::General, Logs::Faction, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Faction))\ + OutF(logsys, Logs::General, Logs::Faction, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogFactionDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Faction))\ - OutF(LogSys, Logs::Detail, Logs::Faction, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Faction))\ + OutF(logsys, Logs::Detail, Logs::Faction, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogPacketServerToServer(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::PacketServerToServer))\ - OutF(LogSys, Logs::General, Logs::PacketServerToServer, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::PacketServerToServer))\ + OutF(logsys, Logs::General, Logs::PacketServerToServer, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogPacketServerToServerDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::PacketServerToServer))\ - OutF(LogSys, Logs::Detail, Logs::PacketServerToServer, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::PacketServerToServer))\ + OutF(logsys, Logs::Detail, Logs::PacketServerToServer, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) // manually created #define LogBugs(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Bugs))\ - OutF(LogSys, Logs::General, Logs::Bugs, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Bugs))\ + OutF(logsys, Logs::General, Logs::Bugs, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogBugsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Bugs))\ - OutF(LogSys, Logs::Detail, Logs::Bugs, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Bugs))\ + OutF(logsys, Logs::Detail, Logs::Bugs, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogQuestErrors(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::QuestErrors))\ - OutF(LogSys, Logs::General, Logs::QuestErrors, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::QuestErrors))\ + OutF(logsys, Logs::General, Logs::QuestErrors, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogQuestErrorsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::QuestErrors))\ - OutF(LogSys, Logs::Detail, Logs::QuestErrors, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::QuestErrors))\ + OutF(logsys, Logs::Detail, Logs::QuestErrors, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogPlayerEvents(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::PlayerEvents))\ - OutF(LogSys, Logs::General, Logs::PlayerEvents, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::PlayerEvents))\ + OutF(logsys, Logs::General, Logs::PlayerEvents, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogPlayerEventsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::PlayerEvents))\ - OutF(LogSys, Logs::Detail, Logs::PlayerEvents, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::PlayerEvents))\ + OutF(logsys, Logs::Detail, Logs::PlayerEvents, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogDataBuckets(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::DataBuckets))\ - OutF(LogSys, Logs::General, Logs::DataBuckets, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::DataBuckets))\ + OutF(logsys, Logs::General, Logs::DataBuckets, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogDataBucketsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::DataBuckets))\ - OutF(LogSys, Logs::Detail, Logs::DataBuckets, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::DataBuckets))\ + OutF(logsys, Logs::Detail, Logs::DataBuckets, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogZoning(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Zoning))\ - OutF(LogSys, Logs::General, Logs::Zoning, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Zoning))\ + OutF(logsys, Logs::General, Logs::Zoning, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogZoningDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Zoning))\ - OutF(LogSys, Logs::Detail, Logs::Zoning, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Zoning))\ + OutF(logsys, Logs::Detail, Logs::Zoning, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogEqTime(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::EqTime))\ - OutF(LogSys, Logs::General, Logs::EqTime, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::EqTime))\ + OutF(logsys, Logs::General, Logs::EqTime, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogEqTimeDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::EqTime))\ - OutF(LogSys, Logs::Detail, Logs::EqTime, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::EqTime))\ + OutF(logsys, Logs::Detail, Logs::EqTime, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCorpses(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::Corpses))\ - OutF(LogSys, Logs::General, Logs::Corpses, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::Corpses))\ + OutF(logsys, Logs::General, Logs::Corpses, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogCorpsesDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::Corpses))\ - OutF(LogSys, Logs::Detail, Logs::Corpses, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::Corpses))\ + OutF(logsys, Logs::Detail, Logs::Corpses, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogXTargets(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::XTargets))\ - OutF(LogSys, Logs::General, Logs::XTargets, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::XTargets))\ + OutF(logsys, Logs::General, Logs::XTargets, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogXTargetsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::XTargets))\ - OutF(LogSys, Logs::Detail, Logs::XTargets, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::XTargets))\ + OutF(logsys, Logs::Detail, Logs::XTargets, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogPositionUpdate(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::PositionUpdate))\ - OutF(LogSys, Logs::General, Logs::PositionUpdate, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::PositionUpdate))\ + OutF(logsys, Logs::General, Logs::PositionUpdate, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogPositionUpdateDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::PositionUpdate))\ - OutF(LogSys, Logs::Detail, Logs::PositionUpdate, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__); \ + if (logsys->IsLogEnabled(Logs::Detail, Logs::PositionUpdate))\ + OutF(logsys, Logs::Detail, Logs::PositionUpdate, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__); \ } while (0) #define LogKSM(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::KSM))\ - OutF(LogSys, Logs::General, Logs::KSM, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::KSM))\ + OutF(logsys, Logs::General, Logs::KSM, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogKSMDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::KSM))\ - OutF(LogSys, Logs::Detail, Logs::KSM, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::KSM))\ + OutF(logsys, Logs::Detail, Logs::KSM, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogBotSettings(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::BotSettings))\ - OutF(LogSys, Logs::General, Logs::BotSettings, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::BotSettings))\ + OutF(logsys, Logs::General, Logs::BotSettings, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogBotSettingsDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::BotSettings))\ - OutF(LogSys, Logs::Detail, Logs::BotSettings, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::BotSettings))\ + OutF(logsys, Logs::Detail, Logs::BotSettings, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogBotSpellChecks(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::BotSpellChecks))\ - OutF(LogSys, Logs::General, Logs::BotSpellChecks, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::BotSpellChecks))\ + OutF(logsys, Logs::General, Logs::BotSpellChecks, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogBotSpellChecksDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::BotSpellChecks))\ - OutF(LogSys, Logs::Detail, Logs::BotSpellChecks, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::BotSpellChecks))\ + OutF(logsys, Logs::Detail, Logs::BotSpellChecks, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogBotSpellTypeChecks(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::BotSpellTypeChecks))\ - OutF(LogSys, Logs::General, Logs::BotSpellTypeChecks, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::BotSpellTypeChecks))\ + OutF(logsys, Logs::General, Logs::BotSpellTypeChecks, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogBotSpellTypeChecksDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::BotSpellTypeChecks))\ - OutF(LogSys, Logs::Detail, Logs::BotSpellTypeChecks, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::BotSpellTypeChecks))\ + OutF(logsys, Logs::Detail, Logs::BotSpellTypeChecks, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNpcHandin(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::NpcHandin))\ - OutF(LogSys, Logs::General, Logs::NpcHandin, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::NpcHandin))\ + OutF(logsys, Logs::General, Logs::NpcHandin, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNpcHandinDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::NpcHandin))\ - OutF(LogSys, Logs::Detail, Logs::NpcHandin, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::NpcHandin))\ + OutF(logsys, Logs::Detail, Logs::NpcHandin, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogZoneState(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::ZoneState))\ - OutF(LogSys, Logs::General, Logs::ZoneState, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::ZoneState))\ + OutF(logsys, Logs::General, Logs::ZoneState, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogZoneStateDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::ZoneState))\ - OutF(LogSys, Logs::Detail, Logs::ZoneState, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::ZoneState))\ + OutF(logsys, Logs::Detail, Logs::ZoneState, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNetClient(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::NetClient))\ - OutF(LogSys, Logs::General, Logs::NetClient, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::NetClient))\ + OutF(logsys, Logs::General, Logs::NetClient, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNetClientDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::NetClient))\ - OutF(LogSys, Logs::Detail, Logs::NetClient, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::NetClient))\ + OutF(logsys, Logs::Detail, Logs::NetClient, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNetTCP(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::General, Logs::NetTCP))\ - OutF(LogSys, Logs::General, Logs::NetTCP, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::General, Logs::NetTCP))\ + OutF(logsys, Logs::General, Logs::NetTCP, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogNetTCPDetail(message, ...) do {\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::NetTCP))\ - OutF(LogSys, Logs::Detail, Logs::NetTCP, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(Logs::Detail, Logs::NetTCP))\ + OutF(logsys, Logs::Detail, Logs::NetTCP, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define Log(debug_level, log_category, message, ...) do {\ - if (LogSys.IsLogEnabled(debug_level, log_category))\ - LogSys.Out(debug_level, log_category, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(debug_level, log_category))\ + logsys->Out(debug_level, log_category, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) #define LogF(debug_level, log_category, message, ...) do {\ - if (LogSys.IsLogEnabled(debug_level, log_category))\ - OutF(LogSys, debug_level, log_category, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ + if (logsys->IsLogEnabled(debug_level, log_category))\ + OutF(logsys, debug_level, log_category, __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\ } while (0) diff --git a/common/events/player_event_logs.cpp b/common/events/player_event_logs.cpp index f39242901..daa8cd17c 100644 --- a/common/events/player_event_logs.cpp +++ b/common/events/player_event_logs.cpp @@ -509,7 +509,7 @@ bool PlayerEventLogs::IsEventDiscordEnabled(int32_t event_type_id) } // ensure there is a matching webhook to begin with - if (!LogSys.GetDiscordWebhooks()[m_settings[event_type_id].discord_webhook_id].webhook_url.empty()) { + if (!EQEmuLogSys::Instance()->GetDiscordWebhooks()[m_settings[event_type_id].discord_webhook_id].webhook_url.empty()) { return true; } @@ -529,8 +529,8 @@ std::string PlayerEventLogs::GetDiscordWebhookUrlFromEventType(int32_t event_typ } // ensure there is a matching webhook to begin with - if (!LogSys.GetDiscordWebhooks()[m_settings[event_type_id].discord_webhook_id].webhook_url.empty()) { - return LogSys.GetDiscordWebhooks()[m_settings[event_type_id].discord_webhook_id].webhook_url; + if (!EQEmuLogSys::Instance()->GetDiscordWebhooks()[m_settings[event_type_id].discord_webhook_id].webhook_url.empty()) { + return EQEmuLogSys::Instance()->GetDiscordWebhooks()[m_settings[event_type_id].discord_webhook_id].webhook_url; } return ""; diff --git a/common/net/daybreak_connection.cpp b/common/net/daybreak_connection.cpp index 322107103..9d40eadb8 100644 --- a/common/net/daybreak_connection.cpp +++ b/common/net/daybreak_connection.cpp @@ -1167,7 +1167,7 @@ void EQ::Net::DaybreakConnection::ProcessResend(int stream) } } - if (LogSys.IsLogEnabled(Logs::General, Logs::NetClient)) { + if (EQEmuLogSys::Instance()->IsLogEnabled(Logs::General, Logs::NetClient)) { size_t total_size = 0; for (auto &e: s->sent_packets) { total_size += e.second.packet.Length(); diff --git a/common/net/eqstream.cpp b/common/net/eqstream.cpp index 34ad10e41..0e3c671d7 100644 --- a/common/net/eqstream.cpp +++ b/common/net/eqstream.cpp @@ -71,7 +71,7 @@ void EQ::Net::EQStream::QueuePacket(const EQApplicationPacket *p, bool ack_req) OpcodeManager::EmuToName(p->GetOpcode()), (*m_opcode_manager)->EmuToEQ(p->GetOpcode()), p->Size(), - (LogSys.IsLogEnabled(Logs::Detail, Logs::PacketServerClient) ? DumpPacketToString(p) : "") + (EQEmuLogSys::Instance()->IsLogEnabled(Logs::Detail, Logs::PacketServerClient) ? DumpPacketToString(p) : "") ); if (m_opcode_manager && *m_opcode_manager) { diff --git a/common/net/servertalk_server_connection.cpp b/common/net/servertalk_server_connection.cpp index 02d4f9419..efc2d572e 100644 --- a/common/net/servertalk_server_connection.cpp +++ b/common/net/servertalk_server_connection.cpp @@ -319,7 +319,7 @@ void EQ::Net::ServertalkServerConnection::ProcessMessage(EQ::Net::Packet &p) size_t message_len = length; EQ::Net::StaticPacket packet(&data[0], message_len); - const auto is_detail_enabled = LogSys.IsLogEnabled(Logs::Detail, Logs::PacketServerToServer); + const auto is_detail_enabled = EQEmuLogSys::Instance()->IsLogEnabled(Logs::Detail, Logs::PacketServerToServer); if (opcode != ServerOP_KeepAlive || is_detail_enabled) { LogPacketServerToServer( "[{:#06x}] Size [{}] {}", diff --git a/eqlaunch/eqlaunch.cpp b/eqlaunch/eqlaunch.cpp index 932b52f3f..edc50aea7 100644 --- a/eqlaunch/eqlaunch.cpp +++ b/eqlaunch/eqlaunch.cpp @@ -33,15 +33,13 @@ #include #include -EQEmuLogSys LogSys; - bool RunLoops = false; void CatchSignal(int sig_num); int main(int argc, char *argv[]) { RegisterExecutablePlatform(ExePlatformLaunch); - LogSys.LoadLogSettingsDefaults(); + EQEmuLogSys::Instance()->LoadLogSettingsDefaults(); set_exception_handler(); PathManager::Instance()->Init(); @@ -168,7 +166,7 @@ int main(int argc, char *argv[]) { delete zone->second; } - LogSys.CloseFileLogs(); + EQEmuLogSys::Instance()->CloseFileLogs(); return 0; } diff --git a/loginserver/client.cpp b/loginserver/client.cpp index 41cbec896..754c83ab5 100644 --- a/loginserver/client.cpp +++ b/loginserver/client.cpp @@ -25,7 +25,7 @@ bool Client::Process() OpcodeManager::EmuToName(app->GetOpcode()), o->EmuToEQ(app->GetOpcode()) == 0 ? app->GetProtocolOpcode() : o->EmuToEQ(app->GetOpcode()), app->Size(), - (LogSys.IsLogEnabled(Logs::Detail, Logs::PacketClientServer) ? DumpPacketToString(app) : "") + (EQEmuLogSys::Instance()->IsLogEnabled(Logs::Detail, Logs::PacketClientServer) ? DumpPacketToString(app) : "") ); if (m_client_status == cs_failed_to_login) { diff --git a/loginserver/main.cpp b/loginserver/main.cpp index e1499dace..338c9e2c8 100644 --- a/loginserver/main.cpp +++ b/loginserver/main.cpp @@ -22,7 +22,6 @@ #include LoginServer server; -EQEmuLogSys LogSys; bool run_server = true; Database database; PlayerEventLogs player_event_logs; @@ -157,21 +156,21 @@ int main(int argc, char **argv) LogInfo("Logging System Init"); if (argc == 1) { - LogSys.LoadLogSettingsDefaults(); + EQEmuLogSys::Instance()->LoadLogSettingsDefaults(); } PathManager::Instance()->Init(); // command handler if (argc > 1) { - LogSys.SilenceConsoleLogging(); + EQEmuLogSys::Instance()->SilenceConsoleLogging(); LoadServerConfig(); LoadDatabaseConnection(); - LogSys.LoadLogSettingsDefaults(); - LogSys.log_settings[Logs::Debug].log_to_console = static_cast(Logs::General); - LogSys.log_settings[Logs::Debug].is_category_enabled = 1; + EQEmuLogSys::Instance()->LoadLogSettingsDefaults(); + EQEmuLogSys::Instance()->log_settings[Logs::Debug].log_to_console = static_cast(Logs::General); + EQEmuLogSys::Instance()->log_settings[Logs::Debug].is_category_enabled = 1; LoginserverCommandHandler::CommandHandler(argc, argv); } @@ -180,7 +179,7 @@ int main(int argc, char **argv) LoadDatabaseConnection(); if (argc == 1) { - LogSys.SetDatabase(&database) + EQEmuLogSys::Instance()->SetDatabase(&database) ->SetLogPath("logs") ->LoadLogDatabaseSettings() ->StartFileLogs(); diff --git a/queryserv/queryserv.cpp b/queryserv/queryserv.cpp index 0334949b4..bba19d7a0 100644 --- a/queryserv/queryserv.cpp +++ b/queryserv/queryserv.cpp @@ -29,7 +29,6 @@ LFGuildManager lfguildmanager; std::string WorldShortName; const queryservconfig *Config; WorldServer *worldserver = 0; -EQEmuLogSys LogSys; PlayerEventLogs player_event_logs; ZSList zs_list; uint32 numzones = 0; @@ -42,7 +41,7 @@ void CatchSignal(int sig_num) int main() { RegisterExecutablePlatform(ExePlatformQueryServ); - LogSys.LoadLogSettingsDefaults(); + EQEmuLogSys::Instance()->LoadLogSettingsDefaults(); set_exception_handler(); Timer LFGuildExpireTimer(60000); @@ -81,7 +80,7 @@ int main() return 1; } - LogSys.SetDatabase(&database) + EQEmuLogSys::Instance()->SetDatabase(&database) ->SetLogPath(PathManager::Instance()->GetLogPath()) ->LoadLogDatabaseSettings() ->StartFileLogs(); @@ -183,7 +182,7 @@ int main() EQ::EventLoop::Get().Run(); safe_delete(worldserver); - LogSys.CloseFileLogs(); + EQEmuLogSys::Instance()->CloseFileLogs(); } void UpdateWindowTitle(char *iNewTitle) diff --git a/queryserv/worldserver.cpp b/queryserv/worldserver.cpp index e2270c57c..5af98b152 100644 --- a/queryserv/worldserver.cpp +++ b/queryserv/worldserver.cpp @@ -79,7 +79,7 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p) case ServerOP_ServerReloadRequest: { auto o = (ServerReload::Request*) p.Data(); if (o->type == ServerReload::Type::Logs) { - LogSys.LoadLogDatabaseSettings(); + EQEmuLogSys::Instance()->LoadLogDatabaseSettings(); player_event_logs.ReloadSettings(); zs_list.SendPlayerEventLogSettings(); } diff --git a/shared_memory/main.cpp b/shared_memory/main.cpp index 0935e5d99..a9a043f58 100644 --- a/shared_memory/main.cpp +++ b/shared_memory/main.cpp @@ -35,7 +35,6 @@ #include "../common/events/player_event_logs.h" #include "../common/evolving_items.h" -EQEmuLogSys LogSys; WorldContentService content_service; PlayerEventLogs player_event_logs; EvolvingItemsManager evolving_items_manager; @@ -79,7 +78,7 @@ inline bool MakeDirectory(const std::string &directory_name) int main(int argc, char **argv) { RegisterExecutablePlatform(ExePlatformSharedMemory); - LogSys.LoadLogSettingsDefaults(); + EQEmuLogSys::Instance()->LoadLogSettingsDefaults(); set_exception_handler(); PathManager::Instance()->Init(); @@ -124,7 +123,7 @@ int main(int argc, char **argv) content_db.SetMySQL(database); } - LogSys.SetDatabase(&database) + EQEmuLogSys::Instance()->SetDatabase(&database) ->SetLogPath(PathManager::Instance()->GetLogPath()) ->LoadLogDatabaseSettings() ->StartFileLogs(); @@ -242,6 +241,6 @@ int main(int argc, char **argv) } } - LogSys.CloseFileLogs(); + EQEmuLogSys::Instance()->CloseFileLogs(); return 0; } diff --git a/tests/main.cpp b/tests/main.cpp index 03f3deacf..9c9af40c9 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -34,12 +34,11 @@ #include "task_state_test.h" const EQEmuConfig *Config; -EQEmuLogSys LogSys; int main() { RegisterExecutablePlatform(ExePlatformClientImport); - LogSys.LoadLogSettingsDefaults(); + EQEmuLogSys::Instance()->LoadLogSettingsDefaults(); PathManager::Instance()->Init(); auto ConfigLoadResult = EQEmuConfig::LoadConfig(); diff --git a/ucs/clientlist.cpp b/ucs/clientlist.cpp index 7d11abe82..251fd8f05 100644 --- a/ucs/clientlist.cpp +++ b/ucs/clientlist.cpp @@ -651,7 +651,7 @@ void Clientlist::Process() OpcodeManager::EmuToName(app->GetOpcode()), o->EmuToEQ(app->GetOpcode()) == 0 ? app->GetProtocolOpcode() : o->EmuToEQ(app->GetOpcode()), app->Size(), - (LogSys.IsLogEnabled(Logs::Detail, Logs::PacketClientServer) ? DumpPacketToString(app) : "") + (EQEmuLogSys::Instance()->IsLogEnabled(Logs::Detail, Logs::PacketClientServer) ? DumpPacketToString(app) : "") ); switch (opcode) { diff --git a/ucs/ucs.cpp b/ucs/ucs.cpp index 68e3fbd12..de1557495 100644 --- a/ucs/ucs.cpp +++ b/ucs/ucs.cpp @@ -44,7 +44,6 @@ ChatChannelList *ChannelList; Clientlist *g_Clientlist; -EQEmuLogSys LogSys; UCSDatabase database; WorldServer *worldserver = nullptr; PlayerEventLogs player_event_logs; @@ -72,7 +71,7 @@ void Shutdown() { LogInfo("Shutting down..."); ChannelList->RemoveAllChannels(); g_Clientlist->CloseAllConnections(); - LogSys.CloseFileLogs(); + EQEmuLogSys::Instance()->CloseFileLogs(); } int caught_loop = 0; @@ -87,7 +86,7 @@ void CatchSignal(int sig_num) { LogInfo("In a signal handler loop and process is incapable of exiting properly, forcefully cleaning up"); ChannelList->RemoveAllChannels(); g_Clientlist->CloseAllConnections(); - LogSys.CloseFileLogs(); + EQEmuLogSys::Instance()->CloseFileLogs(); std::exit(0); } } @@ -101,7 +100,7 @@ void PlayerEventQueueListener() { int main() { RegisterExecutablePlatform(ExePlatformUCS); - LogSys.LoadLogSettingsDefaults(); + EQEmuLogSys::Instance()->LoadLogSettingsDefaults(); set_exception_handler(); PathManager::Instance()->Init(); @@ -136,7 +135,8 @@ int main() { return 1; } - LogSys.SetDatabase(&database) + EQEmuLogSys::Instance() + ->SetDatabase(&database) ->SetLogPath(PathManager::Instance()->GetLogPath()) ->LoadLogDatabaseSettings() ->StartFileLogs(); diff --git a/ucs/worldserver.cpp b/ucs/worldserver.cpp index 8345afd22..969eed824 100644 --- a/ucs/worldserver.cpp +++ b/ucs/worldserver.cpp @@ -78,7 +78,7 @@ void WorldServer::ProcessMessage(uint16 opcode, EQ::Net::Packet &p) case ServerOP_ServerReloadRequest: { auto o = (ServerReload::Request*) pack->pBuffer; if (o->type == ServerReload::Type::Logs) { - LogSys.LoadLogDatabaseSettings(); + EQEmuLogSys::Instance()->LoadLogDatabaseSettings(); player_event_logs.ReloadSettings(); } diff --git a/utils/scripts/generators/log-alias-generator.pl b/utils/scripts/generators/log-alias-generator.pl index be79fa32e..391b4d4a2 100755 --- a/utils/scripts/generators/log-alias-generator.pl +++ b/utils/scripts/generators/log-alias-generator.pl @@ -35,12 +35,12 @@ if (scalar(@enum) > 0) { foreach my $cat (@cats) { print "#define Log" . $cat . "(message, ...) do {\\ - if (LogSys.IsLogEnabled(Logs::General, Logs::" . $cat . "))\\ + if (EQEmuLogSys::Instance()->IsLogEnabled(Logs::General, Logs::" . $cat . "))\\ OutF(LogSys, Logs::General, Logs::" . $cat . ", __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\\ } while (0) #define Log" . $cat . "Detail(message, ...) do {\\ - if (LogSys.IsLogEnabled(Logs::Detail, Logs::" . $cat . "))\\ + if (EQEmuLogSys::Instance()->IsLogEnabled(Logs::Detail, Logs::" . $cat . "))\\ OutF(LogSys, Logs::Detail, Logs::" . $cat . ", __FILE__, __func__, __LINE__, message, ##__VA_ARGS__);\\ } while (0) diff --git a/world/client.cpp b/world/client.cpp index 656cc1998..07ca03431 100644 --- a/world/client.cpp +++ b/world/client.cpp @@ -1100,7 +1100,7 @@ bool Client::HandlePacket(const EQApplicationPacket *app) { OpcodeManager::EmuToName(app->GetOpcode()), o->EmuToEQ(app->GetOpcode()) == 0 ? app->GetProtocolOpcode() : o->EmuToEQ(app->GetOpcode()), app->Size(), - (LogSys.IsLogEnabled(Logs::Detail, Logs::PacketClientServer) ? DumpPacketToString(app) : "") + (EQEmuLogSys::Instance()->IsLogEnabled(Logs::Detail, Logs::PacketClientServer) ? DumpPacketToString(app) : "") ); if (!eqs->CheckState(ESTABLISHED)) { diff --git a/world/main.cpp b/world/main.cpp index b15f03882..07ab79a94 100644 --- a/world/main.cpp +++ b/world/main.cpp @@ -104,7 +104,6 @@ volatile bool RunLoops = true; uint32 numclients = 0; uint32 numzones = 0; const WorldConfig *Config; -EQEmuLogSys LogSys; WorldContentService content_service; WebInterfaceList web_interface; PlayerEventLogs player_event_logs; @@ -130,7 +129,7 @@ inline void UpdateWindowTitle(std::string new_title) int main(int argc, char **argv) { RegisterExecutablePlatform(ExePlatformWorld); - LogSys.LoadLogSettingsDefaults(); + EQEmuLogSys::Instance()->LoadLogSettingsDefaults(); set_exception_handler(); if (WorldBoot::HandleCommandInput(argc, argv)) { @@ -504,7 +503,7 @@ int main(int argc, char **argv) zoneserver_list.KillAll(); LogInfo("Zone (TCP) listener stopped"); LogInfo("Signaling HTTP service to stop"); - LogSys.CloseFileLogs(); + EQEmuLogSys::Instance()->CloseFileLogs(); WorldBoot::Shutdown(); diff --git a/world/world_boot.cpp b/world/world_boot.cpp index cb00e7ab9..f81568063 100644 --- a/world/world_boot.cpp +++ b/world/world_boot.cpp @@ -57,7 +57,7 @@ void WorldBoot::GMSayHookCallBackProcessWorld(uint16 log_category, const char *f 0, 0, AccountStatus::QuestTroupe, - LogSys.GetGMSayColorFromCategory(log_category), + EQEmuLogSys::Instance()->GetGMSayColorFromCategory(log_category), fmt::format( " {}{}", (iter == 0 ? " ---" : ""), @@ -73,7 +73,7 @@ void WorldBoot::GMSayHookCallBackProcessWorld(uint16 log_category, const char *f 0, 0, AccountStatus::QuestTroupe, - LogSys.GetGMSayColorFromCategory(log_category), + EQEmuLogSys::Instance()->GetGMSayColorFromCategory(log_category), "%s", fmt::format("[{}] [{}] {}", Logs::LogCategoryName[log_category], func, message).c_str() ); @@ -83,12 +83,12 @@ bool WorldBoot::HandleCommandInput(int argc, char **argv) { // command handler if (argc > 1) { - LogSys.SilenceConsoleLogging(); + EQEmuLogSys::Instance()->SilenceConsoleLogging(); PathManager::Instance()->Init(); WorldConfig::LoadConfig(); LoadDatabaseConnections(); RuleManager::Instance()->LoadRules(&database, "default", false); - LogSys.EnableConsoleLogging(); + EQEmuLogSys::Instance()->EnableConsoleLogging(); WorldserverCLI::CommandHandler(argc, argv); } @@ -231,11 +231,11 @@ extern WorldEventScheduler event_scheduler; bool WorldBoot::DatabaseLoadRoutines(int argc, char **argv) { // logging system init - auto logging = LogSys.SetDatabase(&database) + auto logging = EQEmuLogSys::Instance()->SetDatabase(&database) ->SetLogPath(PathManager::Instance()->GetLogPath()) ->LoadLogDatabaseSettings(); - LogSys.SetDiscordHandler(&WorldBoot::DiscordWebhookMessageHandler); + EQEmuLogSys::Instance()->SetDiscordHandler(&WorldBoot::DiscordWebhookMessageHandler); const auto c = EQEmuConfig::get(); if (c->auto_database_updates) { diff --git a/world/zonelist.cpp b/world/zonelist.cpp index 38e7d0ac6..2b22a1c52 100644 --- a/world/zonelist.cpp +++ b/world/zonelist.cpp @@ -983,7 +983,7 @@ void ZSList::SendServerReload(ServerReload::Type type, uchar *packet) } else if (type == ServerReload::Type::ContentFlags) { content_service.SetExpansionContext()->ReloadContentFlags(); } else if (type == ServerReload::Type::Logs) { - LogSys.LoadLogDatabaseSettings(); + EQEmuLogSys::Instance()->LoadLogDatabaseSettings(); player_event_logs.ReloadSettings(); UCSLink.SendPacket(&pack); QSLink.SendPacket(&pack); diff --git a/zone/api_service.cpp b/zone/api_service.cpp index a0d02b1c9..6f1c16d9d 100644 --- a/zone/api_service.cpp +++ b/zone/api_service.cpp @@ -835,9 +835,9 @@ Json::Value ApiGetLogsysCategories(EQ::Net::WebsocketServerConnection *connectio row["log_category_id"] = i; row["log_category_description"] = Logs::LogCategoryName[i]; - row["log_to_console"] = LogSys.log_settings[i].log_to_console; - row["log_to_file"] = LogSys.log_settings[i].log_to_file; - row["log_to_gmsay"] = LogSys.log_settings[i].log_to_gmsay; + row["log_to_console"] = EQEmuLogSys::Instance()->log_settings[i].log_to_console; + row["log_to_file"] = EQEmuLogSys::Instance()->log_settings[i].log_to_file; + row["log_to_gmsay"] = EQEmuLogSys::Instance()->log_settings[i].log_to_gmsay; response.append(row); } @@ -866,15 +866,15 @@ Json::Value ApiSetLoggingLevel(EQ::Net::WebsocketServerConnection *connection, J if (logging_category < Logs::LogCategory::MaxCategoryID && logging_category > Logs::LogCategory::None ) { - LogSys.log_settings[logging_category].log_to_console = logging_level; + EQEmuLogSys::Instance()->log_settings[logging_category].log_to_console = logging_level; response["status"] = "Category log level updated"; } if (logging_level > 0) { - LogSys.log_settings[logging_category].is_category_enabled = 1; + EQEmuLogSys::Instance()->log_settings[logging_category].is_category_enabled = 1; } else { - LogSys.log_settings[logging_category].is_category_enabled = 0; + EQEmuLogSys::Instance()->log_settings[logging_category].is_category_enabled = 0; } return response; @@ -882,7 +882,7 @@ Json::Value ApiSetLoggingLevel(EQ::Net::WebsocketServerConnection *connection, J void RegisterApiLogEvent(std::unique_ptr &server) { - LogSys.SetConsoleHandler( + EQEmuLogSys::Instance()->SetConsoleHandler( [&](uint16 log_category, const std::string &msg) { Json::Value data; data["log_category"] = log_category; diff --git a/zone/cli/benchmark_databuckets.cpp b/zone/cli/benchmark_databuckets.cpp index 2016dc878..af0dcb84a 100644 --- a/zone/cli/benchmark_databuckets.cpp +++ b/zone/cli/benchmark_databuckets.cpp @@ -278,7 +278,7 @@ void ZoneCLI::BenchmarkDatabuckets(int argc, char **argv, argh::parser &cmd, std } if (std::getenv("DEBUG")) { - LogSys.SetDatabase(&database)->LoadLogDatabaseSettings(); + EQEmuLogSys::Instance()->SetDatabase(&database)->LoadLogDatabaseSettings(); } auto start_time = std::chrono::high_resolution_clock::now(); diff --git a/zone/cli/tests/_test_util.cpp b/zone/cli/tests/_test_util.cpp index eba6aa01e..0bd118166 100644 --- a/zone/cli/tests/_test_util.cpp +++ b/zone/cli/tests/_test_util.cpp @@ -41,11 +41,11 @@ inline void RunTest(const std::string &test_name, int expected, int actual) extern Zone *zone; inline void SetupZone(std::string zone_short_name, uint32 instance_id = 0) { - LogSys.SilenceConsoleLogging(); + EQEmuLogSys::Instance()->SilenceConsoleLogging(); - LogSys.log_settings[Logs::ZoneState].log_to_console = std::getenv("DEBUG") ? 3 : 0; - LogSys.log_settings[Logs::Info].log_to_console = std::getenv("DEBUG") ? 3 : 0; - LogSys.log_settings[Logs::Spawns].log_to_console = std::getenv("DEBUG") ? 3 : 0; + EQEmuLogSys::Instance()->log_settings[Logs::ZoneState].log_to_console = std::getenv("DEBUG") ? 3 : 0; + EQEmuLogSys::Instance()->log_settings[Logs::Info].log_to_console = std::getenv("DEBUG") ? 3 : 0; + EQEmuLogSys::Instance()->log_settings[Logs::Spawns].log_to_console = std::getenv("DEBUG") ? 3 : 0; // boot shell zone for testing Zone::Bootup(ZoneID(zone_short_name), 0, false); @@ -53,5 +53,5 @@ inline void SetupZone(std::string zone_short_name, uint32 instance_id = 0) { entity_list.Process(); entity_list.MobProcess(); - LogSys.EnableConsoleLogging(); + EQEmuLogSys::Instance()->EnableConsoleLogging(); } diff --git a/zone/cli/tests/databuckets.cpp b/zone/cli/tests/databuckets.cpp index ad1c4ca74..c51b99c6a 100644 --- a/zone/cli/tests/databuckets.cpp +++ b/zone/cli/tests/databuckets.cpp @@ -16,7 +16,7 @@ void ZoneCLI::TestDataBuckets(int argc, char** argv, argh::parser& cmd, std::str uint32 break_length = 50; int failed_count = 0; - LogSys.SilenceConsoleLogging(); + EQEmuLogSys::Instance()->SilenceConsoleLogging(); // boot shell zone for testing Zone::Bootup(ZoneID("qrg"), 0, false); @@ -25,13 +25,13 @@ void ZoneCLI::TestDataBuckets(int argc, char** argv, argh::parser& cmd, std::str entity_list.Process(); entity_list.MobProcess(); + EQEmuLogSys::Instance()->EnableConsoleLogging(); + Client* client = new Client(); client->SetCharacterId(1); // Set a dummy character ID for testing - LogSys.EnableConsoleLogging(); - - LogSys.log_settings[Logs::MySQLQuery].is_category_enabled = std::getenv("DEBUG") ? 1 : 0; - LogSys.log_settings[Logs::MySQLQuery].log_to_console = std::getenv("DEBUG") ? 3 : 0; + EQEmuLogSys::Instance()->log_settings[Logs::MySQLQuery].is_category_enabled = std::getenv("DEBUG") ? 1 : 0; + EQEmuLogSys::Instance()->log_settings[Logs::MySQLQuery].log_to_console = std::getenv("DEBUG") ? 3 : 0; // 🧹 Delete all test keys before running tests std::vector test_keys_to_clear = { diff --git a/zone/cli/tests/npc_handins.cpp b/zone/cli/tests/npc_handins.cpp index eceaa1d37..c9eed484d 100644 --- a/zone/cli/tests/npc_handins.cpp +++ b/zone/cli/tests/npc_handins.cpp @@ -68,7 +68,7 @@ void ZoneCLI::TestNpcHandins(int argc, char **argv, argh::parser &cmd, std::stri return; } - LogSys.SilenceConsoleLogging(); + EQEmuLogSys::Instance()->SilenceConsoleLogging(); Zone::Bootup(ZoneID("qrg"), 0, false); zone->StopShutdownTimer(); @@ -426,10 +426,10 @@ void ZoneCLI::TestNpcHandins(int argc, char **argv, argh::parser &cmd, std::stri std::map required; std::vector items; - LogSys.EnableConsoleLogging(); + EQEmuLogSys::Instance()->EnableConsoleLogging(); // turn this on to see debugging output - LogSys.log_settings[Logs::NpcHandin].log_to_console = std::getenv("DEBUG") ? 3 : 0; + EQEmuLogSys::Instance()->log_settings[Logs::NpcHandin].log_to_console = std::getenv("DEBUG") ? 3 : 0; for (auto &test: test_cases) { hand_ins.clear(); @@ -524,7 +524,7 @@ void ZoneCLI::TestNpcHandins(int argc, char **argv, argh::parser &cmd, std::stri npc->ResetHandin(); - if (LogSys.log_settings[Logs::NpcHandin].log_to_console > 0) { + if (EQEmuLogSys::Instance()->log_settings[Logs::NpcHandin].log_to_console > 0) { std::cout << std::endl; } } diff --git a/zone/cli/tests/npc_handins_multiquest.cpp b/zone/cli/tests/npc_handins_multiquest.cpp index 39af0d952..1c560cdc9 100644 --- a/zone/cli/tests/npc_handins_multiquest.cpp +++ b/zone/cli/tests/npc_handins_multiquest.cpp @@ -15,7 +15,7 @@ void ZoneCLI::TestNpcHandinsMultiQuest(int argc, char **argv, argh::parser &cmd, uint32 break_length = 50; int failed_count = 0; - LogSys.SilenceConsoleLogging(); + EQEmuLogSys::Instance()->SilenceConsoleLogging(); Zone::Bootup(ZoneID("qrg"), 0, false); zone->StopShutdownTimer(); @@ -93,10 +93,10 @@ void ZoneCLI::TestNpcHandinsMultiQuest(int argc, char **argv, argh::parser &cmd, std::map required; std::vector items; - LogSys.EnableConsoleLogging(); + EQEmuLogSys::Instance()->EnableConsoleLogging(); // turn this on to see debugging output - LogSys.log_settings[Logs::NpcHandin].log_to_console = std::getenv("DEBUG") ? 3 : 0; + EQEmuLogSys::Instance()->log_settings[Logs::NpcHandin].log_to_console = std::getenv("DEBUG") ? 3 : 0; for (auto &test: test_cases) { required.clear(); @@ -162,7 +162,7 @@ void ZoneCLI::TestNpcHandinsMultiQuest(int argc, char **argv, argh::parser &cmd, npc->ResetHandin(); - if (LogSys.log_settings[Logs::NpcHandin].log_to_console > 0) { + if (EQEmuLogSys::Instance()->log_settings[Logs::NpcHandin].log_to_console > 0) { std::cout << std::endl; } } diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 48fb3ef0c..31b608552 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -463,7 +463,7 @@ int Client::HandlePacket(const EQApplicationPacket *app) OpcodeManager::EmuToName(app->GetOpcode()), o->EmuToEQ(app->GetOpcode()) == 0 ? app->GetProtocolOpcode() : o->EmuToEQ(app->GetOpcode()), app->Size(), - (LogSys.IsLogEnabled(Logs::Detail, Logs::PacketClientServer) ? DumpPacketToString(app) : "") + (EQEmuLogSys::Instance()->IsLogEnabled(Logs::Detail, Logs::PacketClientServer) ? DumpPacketToString(app) : "") ); EmuOpcode opcode = app->GetOpcode(); @@ -5533,7 +5533,7 @@ void Client::Handle_OP_CrashDump(const EQApplicationPacket *app) void Client::Handle_OP_CreateObject(const EQApplicationPacket *app) { - if (LogSys.log_settings[Logs::Inventory].is_category_enabled) + if (EQEmuLogSys::Instance()->log_settings[Logs::Inventory].is_category_enabled) LogInventory("Handle_OP_CreateObject() [psize: [{}]] [{}]", app->size, DumpPacketToString(app).c_str()); DropItem(EQ::invslot::slotCursor); diff --git a/zone/gm_commands/logs.cpp b/zone/gm_commands/logs.cpp index 031d04dd1..366a56c79 100755 --- a/zone/gm_commands/logs.cpp +++ b/zone/gm_commands/logs.cpp @@ -76,7 +76,7 @@ void command_logs(Client *c, const Seperator *sep) std::vector gmsay; for (int i = 0; i <= 2; i++) { - if (LogSys.log_settings[index].log_to_gmsay == i) { + if (EQEmuLogSys::Instance()->log_settings[index].log_to_gmsay == i) { gmsay.emplace_back(std::to_string(i)); continue; } @@ -90,7 +90,7 @@ void command_logs(Client *c, const Seperator *sep) std::vector file; for (int i = 0; i <= 2; i++) { - if (LogSys.log_settings[index].log_to_file == i) { + if (EQEmuLogSys::Instance()->log_settings[index].log_to_file == i) { file.emplace_back(std::to_string(i)); continue; } @@ -104,7 +104,7 @@ void command_logs(Client *c, const Seperator *sep) std::vector console; for (int i = 0; i <= 2; i++) { - if (LogSys.log_settings[index].log_to_console == i) { + if (EQEmuLogSys::Instance()->log_settings[index].log_to_console == i) { console.emplace_back(std::to_string(i)); continue; } @@ -118,7 +118,7 @@ void command_logs(Client *c, const Seperator *sep) std::vector discord; for (int i = 0; i <= 2; i++) { - if (LogSys.log_settings[index].log_to_discord == i) { + if (EQEmuLogSys::Instance()->log_settings[index].log_to_discord == i) { discord.emplace_back(std::to_string(i)); continue; } @@ -206,16 +206,16 @@ void command_logs(Client *c, const Seperator *sep) auto setting = Strings::ToUnsignedInt(sep->arg[4]); if (is_console) { - LogSys.log_settings[category_id].log_to_console = setting; + EQEmuLogSys::Instance()->log_settings[category_id].log_to_console = setting; } else if (is_file) { - LogSys.log_settings[category_id].log_to_file = setting; + EQEmuLogSys::Instance()->log_settings[category_id].log_to_file = setting; } else if (is_gmsay) { - LogSys.log_settings[category_id].log_to_gmsay = setting; + EQEmuLogSys::Instance()->log_settings[category_id].log_to_gmsay = setting; } else if (is_discord) { - LogSys.log_settings[category_id].log_to_discord = setting; + EQEmuLogSys::Instance()->log_settings[category_id].log_to_discord = setting; } if (logs_set) { @@ -231,7 +231,7 @@ void command_logs(Client *c, const Seperator *sep) ); } - LogSys.log_settings[category_id].is_category_enabled = setting ? 1 : 0; + EQEmuLogSys::Instance()->log_settings[category_id].is_category_enabled = setting ? 1 : 0; } } diff --git a/zone/gm_commands/lootsim.cpp b/zone/gm_commands/lootsim.cpp index b61957f1d..783206219 100755 --- a/zone/gm_commands/lootsim.cpp +++ b/zone/gm_commands/lootsim.cpp @@ -14,9 +14,9 @@ void command_lootsim(Client *c, const Seperator *sep) auto log_enabled = arguments > 3 ? Strings::ToUnsignedInt(sep->arg[4]) : false; // temporarily disable loot logging unless set explicitly - LogSys.log_settings[Logs::Loot].log_to_console = log_enabled ? LogSys.log_settings[Logs::Loot].log_to_console : 0; - LogSys.log_settings[Logs::Loot].log_to_file = log_enabled ? LogSys.log_settings[Logs::Loot].log_to_file : 0; - LogSys.log_settings[Logs::Loot].log_to_gmsay = log_enabled ? LogSys.log_settings[Logs::Loot].log_to_gmsay : 0; + EQEmuLogSys::Instance()->log_settings[Logs::Loot].log_to_console = log_enabled ? EQEmuLogSys::Instance()->log_settings[Logs::Loot].log_to_console : 0; + EQEmuLogSys::Instance()->log_settings[Logs::Loot].log_to_file = log_enabled ? EQEmuLogSys::Instance()->log_settings[Logs::Loot].log_to_file : 0; + EQEmuLogSys::Instance()->log_settings[Logs::Loot].log_to_gmsay = log_enabled ? EQEmuLogSys::Instance()->log_settings[Logs::Loot].log_to_gmsay : 0; auto npc_type = content_db.LoadNPCTypesData(npc_id); if (npc_type) { @@ -182,7 +182,7 @@ void command_lootsim(Client *c, const Seperator *sep) ); c->SendChatLineBreak(); - LogSys.LoadLogDatabaseSettings(); + EQEmuLogSys::Instance()->LoadLogDatabaseSettings(); } } else { diff --git a/zone/inventory.cpp b/zone/inventory.cpp index 78fc3bef5..f2a0faaa7 100644 --- a/zone/inventory.cpp +++ b/zone/inventory.cpp @@ -688,7 +688,7 @@ void Client::DropItem(int16 slot_id, bool recurse) LogInventory("Error in InventoryProfile::CheckNoDrop() - returned 'true' for empty slot"); } else { - if (LogSys.log_settings[Logs::Inventory].is_category_enabled) { + if (EQEmuLogSys::Instance()->log_settings[Logs::Inventory].is_category_enabled) { LogInventory("DropItem() Hack detected - full item parse:"); LogInventory("depth: 0, Item: [{}] (id: [{}]), IsDroppable: [{}]", (invalid_drop->GetItem() ? invalid_drop->GetItem()->Name : "null data"), invalid_drop->GetID(), (invalid_drop->IsDroppable(false) ? "true" : "false")); @@ -720,7 +720,7 @@ void Client::DropItem(int16 slot_id, bool recurse) // Take control of item in client inventory auto* inst = m_inv.PopItem(slot_id); if (inst) { - if (LogSys.log_settings[Logs::Inventory].is_category_enabled) { + if (EQEmuLogSys::Instance()->log_settings[Logs::Inventory].is_category_enabled) { LogInventory("DropItem() Processing - full item parse:"); LogInventory( "depth: 0, Item: [{}] (id: [{}]), IsDroppable: [{}]", diff --git a/zone/loot.cpp b/zone/loot.cpp index e78c8f519..226a40a57 100644 --- a/zone/loot.cpp +++ b/zone/loot.cpp @@ -292,7 +292,7 @@ void NPC::AddLootDrop( auto item = new LootItem; - if (LogSys.log_settings[Logs::Loot].is_category_enabled == 1) { + if (EQEmuLogSys::Instance()->log_settings[Logs::Loot].is_category_enabled == 1) { EQ::SayLinkEngine linker; linker.SetLinkType(EQ::saylink::SayLinkItemData); linker.SetItemData(item2); diff --git a/zone/main.cpp b/zone/main.cpp index 377341960..58e205609 100644 --- a/zone/main.cpp +++ b/zone/main.cpp @@ -102,7 +102,6 @@ TitleManager title_manager; QueryServ *QServ = 0; NpcScaleManager *npc_scale_manager; QuestParserCollection *parse = 0; -EQEmuLogSys LogSys; ZoneEventScheduler event_scheduler; WorldContentService content_service; PlayerEventLogs player_event_logs; @@ -123,13 +122,13 @@ bool CheckForCompatibleQuestPlugins(); int main(int argc, char **argv) { RegisterExecutablePlatform(ExePlatformZone); - LogSys.LoadLogSettingsDefaults(); + EQEmuLogSys::Instance()->LoadLogSettingsDefaults(); set_exception_handler(); // silence logging if we ran a command if (ZoneCLI::RanConsoleCommand(argc, argv) || ZoneCLI::RanTestCommand(argc, argv)) { - LogSys.SilenceConsoleLogging(); + EQEmuLogSys::Instance()->SilenceConsoleLogging(); } PathManager::Instance()->Init(); @@ -295,18 +294,18 @@ int main(int argc, char **argv) // command handler (no sidecar or test commands) if (ZoneCLI::RanConsoleCommand(argc, argv) && !(ZoneCLI::RanSidecarCommand(argc, argv) || ZoneCLI::RanTestCommand(argc, argv))) { - LogSys.EnableConsoleLogging(); + EQEmuLogSys::Instance()->EnableConsoleLogging(); ZoneCLI::CommandHandler(argc, argv); } - LogSys.SetDatabase(&database) + EQEmuLogSys::Instance()->SetDatabase(&database) ->SetLogPath(PathManager::Instance()->GetLogPath()) ->LoadLogDatabaseSettings(ZoneCLI::RanTestCommand(argc, argv)) ->SetGMSayHandler(&Zone::GMSayHookCallBackProcess) ->StartFileLogs(); if (ZoneCLI::RanTestCommand(argc, argv)) { - LogSys.SilenceConsoleLogging(); + EQEmuLogSys::Instance()->SilenceConsoleLogging(); } player_event_logs.SetDatabase(&database)->Init(); @@ -489,7 +488,7 @@ int main(int argc, char **argv) // sidecar command handler if (ZoneCLI::RanConsoleCommand(argc, argv) && (ZoneCLI::RanSidecarCommand(argc, argv) || ZoneCLI::RanTestCommand(argc, argv))) { - LogSys.EnableConsoleLogging(); + EQEmuLogSys::Instance()->EnableConsoleLogging(); ZoneCLI::CommandHandler(argc, argv); } @@ -681,7 +680,7 @@ int main(int argc, char **argv) bot_command_deinit(); safe_delete(parse); LogInfo("Proper zone shutdown complete."); - LogSys.CloseFileLogs(); + EQEmuLogSys::Instance()->CloseFileLogs(); safe_delete(mutex); safe_delete(QServ); @@ -693,7 +692,7 @@ void Shutdown() { zone->Shutdown(true); LogInfo("Shutting down..."); - LogSys.CloseFileLogs(); + EQEmuLogSys::Instance()->CloseFileLogs(); EQ::EventLoop::Get().Shutdown(); } diff --git a/zone/npc_scale_manager.cpp b/zone/npc_scale_manager.cpp index f8fef83e4..2a66b613a 100644 --- a/zone/npc_scale_manager.cpp +++ b/zone/npc_scale_manager.cpp @@ -187,7 +187,7 @@ void NpcScaleManager::ScaleNPC( npc->ModifyNPCStat("special_abilities", scale_data.special_abilities); } - if (LogSys.log_settings[Logs::NPCScaling].is_category_enabled == 1) { + if (EQEmuLogSys::Instance()->log_settings[Logs::NPCScaling].is_category_enabled == 1) { std::string scale_log; for (const auto &stat : scaling_stats) { diff --git a/zone/sidecar_api/loot_simulator_controller.cpp b/zone/sidecar_api/loot_simulator_controller.cpp index 1a91ab3fd..ad61157ef 100644 --- a/zone/sidecar_api/loot_simulator_controller.cpp +++ b/zone/sidecar_api/loot_simulator_controller.cpp @@ -11,7 +11,7 @@ void SidecarApi::LootSimulatorController(const httplib::Request &req, httplib::R auto iterations = 100; auto log_enabled = false; - LogSys.log_settings[Logs::Loot].log_to_console = 0; + EQEmuLogSys::Instance()->log_settings[Logs::Loot].log_to_console = 0; nlohmann::json j; diff --git a/zone/worldserver.cpp b/zone/worldserver.cpp index 234eecc21..4115ecc5b 100644 --- a/zone/worldserver.cpp +++ b/zone/worldserver.cpp @@ -229,7 +229,7 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p) LogInfo("World assigned Port [{}] for this zone", sci->port); ZoneConfig::SetZonePort(sci->port); - LogSys.SetDiscordHandler(&Zone::DiscordWebhookMessageHandler); + EQEmuLogSys::Instance()->SetDiscordHandler(&Zone::DiscordWebhookMessageHandler); } break; } @@ -4589,7 +4589,8 @@ void WorldServer::ProcessReload(const ServerReload::Request& request) break; case ServerReload::Type::Logs: - LogSys.LoadLogDatabaseSettings(); + EQEmuLogSys::Instance()->LoadLogDatabaseSettings(); + player_event_logs.ReloadSettings(); // if QS process is enabled, we get settings from QS if (!RuleB(Logging, PlayerEventsQSProcess)) { player_event_logs.ReloadSettings(); diff --git a/zone/zone.cpp b/zone/zone.cpp index b52ebb812..4a9efc60a 100644 --- a/zone/zone.cpp +++ b/zone/zone.cpp @@ -175,7 +175,7 @@ bool Zone::Bootup(uint32 iZoneID, uint32 iInstanceID, bool is_static) { /* * Set Logging */ - LogSys.StartFileLogs(StringFormat("%s_version_%u_inst_id_%u_port_%u", zone->GetShortName(), zone->GetInstanceVersion(), zone->GetInstanceID(), ZoneConfig::get()->ZonePort)); + EQEmuLogSys::Instance()->StartFileLogs(StringFormat("%s_version_%u_inst_id_%u_port_%u", zone->GetShortName(), zone->GetInstanceVersion(), zone->GetInstanceID(), ZoneConfig::get()->ZonePort)); return true; } @@ -943,7 +943,7 @@ void Zone::Shutdown(bool quiet) parse->ReloadQuests(true); UpdateWindowTitle(nullptr); - LogSys.CloseFileLogs(); + EQEmuLogSys::Instance()->CloseFileLogs(); if (RuleB(Zone, KillProcessOnDynamicShutdown)) { LogInfo("Shutting down"); @@ -1241,9 +1241,9 @@ bool Zone::Init(bool is_static) { LogInfo("Zone booted successfully zone_id [{}] time_offset [{}]", zoneid, zone_time.getEQTimeZone()); // logging origination information - LogSys.origination_info.zone_short_name = zone->short_name; - LogSys.origination_info.zone_long_name = zone->long_name; - LogSys.origination_info.instance_id = zone->instanceid; + EQEmuLogSys::Instance()->origination_info.zone_short_name = zone->short_name; + EQEmuLogSys::Instance()->origination_info.zone_long_name = zone->long_name; + EQEmuLogSys::Instance()->origination_info.instance_id = zone->instanceid; return true; } @@ -2865,7 +2865,7 @@ void Zone::SendDiscordMessage(const std::string& webhook_name, const std::string bool not_found = true; for (int i= 0; i < MAX_DISCORD_WEBHOOK_ID; i++) { - auto &w = LogSys.GetDiscordWebhooks()[i]; + auto &w = EQEmuLogSys::Instance()->GetDiscordWebhooks()[i]; if (w.webhook_name == webhook_name) { SendDiscordMessage(w.id, message + "\n"); not_found = false; diff --git a/zone/zone.h b/zone/zone.h index 29a2980fd..237c7fdb0 100755 --- a/zone/zone.h +++ b/zone/zone.h @@ -387,7 +387,7 @@ public: entity_list.MessageStatus( 0, AccountStatus::QuestTroupe, - LogSys.GetGMSayColorFromCategory(log_category), + EQEmuLogSys::Instance()->GetGMSayColorFromCategory(log_category), message_split[0].c_str() ); @@ -395,7 +395,7 @@ public: entity_list.MessageStatus( 0, AccountStatus::QuestTroupe, - LogSys.GetGMSayColorFromCategory(log_category), + EQEmuLogSys::Instance()->GetGMSayColorFromCategory(log_category), fmt::format( "--- {}", message_split[iter] @@ -407,7 +407,7 @@ public: entity_list.MessageStatus( 0, AccountStatus::QuestTroupe, - LogSys.GetGMSayColorFromCategory(log_category), + EQEmuLogSys::Instance()->GetGMSayColorFromCategory(log_category), fmt::format("[{}] [{}] {}", Logs::LogCategoryName[log_category], func, message).c_str() ); } @@ -418,11 +418,11 @@ public: static void DiscordWebhookMessageHandler(uint16 log_category, int webhook_id, const std::string &message) { std::string message_prefix; - if (!LogSys.origination_info.zone_short_name.empty()) { + if (!EQEmuLogSys::Instance()->origination_info.zone_short_name.empty()) { message_prefix = fmt::format( "[**{}**] **Zone** [**{}**] ", Logs::LogCategoryName[log_category], - LogSys.origination_info.zone_short_name + EQEmuLogSys::Instance()->origination_info.zone_short_name ); }