From 5cafe0ca01afce24d820d29b91f1a66fefcb75a0 Mon Sep 17 00:00:00 2001 From: Spp Date: Sat, 1 Sep 2012 21:15:20 +0200 Subject: Core/Logging: Fix delete player crash having logging player enabled. closes #7437 --- src/server/shared/Logging/Log.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src/server/shared/Logging/Log.cpp') diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp index 0b2bbb3122a..9f503a38f40 100755 --- a/src/server/shared/Logging/Log.cpp +++ b/src/server/shared/Logging/Log.cpp @@ -435,19 +435,20 @@ void Log::outFatal(LogFilterType filter, const char * str, ...) va_end(ap); } -void Log::outCharDump(const char* param, const char * str, ...) +void Log::outCharDump(char const* str, uint32 accountId, uint32 guid, char const* name) { if (!str || !ShouldLog(LOG_FILTER_PLAYER_DUMP, LOG_LEVEL_INFO)) return; - va_list ap; - va_start(ap, str); - char text[MAX_QUERY_LEN]; - vsnprintf(text, MAX_QUERY_LEN, str, ap); - va_end(ap); + std::ostringstream ss; + ss << "== START DUMP == (account: " << accountId << " guid: " << guid << " name: " << name + << ")\n" << str << "\n== END DUMP ==\n"; - LogMessage* msg = new LogMessage(LOG_LEVEL_INFO, LOG_FILTER_PLAYER_DUMP, text); - msg->param1 = param; + LogMessage* msg = new LogMessage(LOG_LEVEL_INFO, LOG_FILTER_PLAYER_DUMP, ss.str()); + ss.clear(); + ss << accountId << '_' << name; + + msg->param1 = ss.str(); write(msg); } -- cgit v1.2.3 From 7811e9100c780603efbc1e664e4848e2e355a239 Mon Sep 17 00:00:00 2001 From: Spp Date: Sat, 1 Sep 2012 21:18:01 +0200 Subject: Core/Logging: Delete player filename will now use guid_name format like old log system. (was set to account_name by error) --- src/server/shared/Logging/Log.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/server/shared/Logging/Log.cpp') diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp index 9f503a38f40..88259831095 100755 --- a/src/server/shared/Logging/Log.cpp +++ b/src/server/shared/Logging/Log.cpp @@ -446,7 +446,7 @@ void Log::outCharDump(char const* str, uint32 accountId, uint32 guid, char const LogMessage* msg = new LogMessage(LOG_LEVEL_INFO, LOG_FILTER_PLAYER_DUMP, ss.str()); ss.clear(); - ss << accountId << '_' << name; + ss << guid << '_' << name; msg->param1 = ss.str(); -- cgit v1.2.3