aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2012-08-15 21:14:21 +0100
committerNay <dnpd.dd@gmail.com>2012-08-15 21:14:21 +0100
commit9fcaeda0979c8f8ed5ff3ad55e260b14303bc971 (patch)
treeb57e5f9f6508cf18bd374c9f8fac0d91fa759508 /src
parent0289f2e1bbe667e059a8249896e35602e8d2ff37 (diff)
parent52a5991c1258073d561e8b74ef99a7b940808d92 (diff)
Merge remote-tracking branch 'origin/master' into 4.3.4
Conflicts: src/server/shared/Logging/Appender.h src/server/worldserver/worldserver.conf.dist
Diffstat (limited to 'src')
-rw-r--r--src/server/authserver/authserver.conf.dist2
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp8
-rw-r--r--src/server/shared/Logging/Appender.h10
-rw-r--r--src/server/shared/Logging/AppenderFile.cpp4
-rw-r--r--src/server/shared/Logging/Log.cpp22
-rw-r--r--src/server/shared/Logging/Log.h1
-rw-r--r--src/server/worldserver/worldserver.conf.dist26
7 files changed, 53 insertions, 20 deletions
diff --git a/src/server/authserver/authserver.conf.dist b/src/server/authserver/authserver.conf.dist
index d1c92dcf1d0..15dd02d9052 100644
--- a/src/server/authserver/authserver.conf.dist
+++ b/src/server/authserver/authserver.conf.dist
@@ -170,7 +170,7 @@ LoginDatabase.WorkerThreads = 1
# 5 - (Error)
# 6 - (Fatal)
#
-# Flags: Default Console = 6, File = 7, DB = 0
+# Flags:
# 0 - None
# 1 - Prefix Timestamp to the text
# 2 - Prefix Log Level to the text
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 7c83139f6f5..661da579c5e 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -736,11 +736,15 @@ void WorldSession::HandleCharDeleteOpcode(WorldPacket & recvData)
sScriptMgr->OnPlayerDelete(guid);
sWorld->DeleteCharaceterNameData(GUID_LOPART(guid));
- if (sLog->ShouldLog(LOG_FILTER_CHARACTER, LOG_LEVEL_DEBUG)) // optimize GetPlayerDump call
+ if (sLog->ShouldLog(LOG_FILTER_PLAYER_DUMP, LOG_LEVEL_INFO)) // optimize GetPlayerDump call
{
std::string dump;
if (PlayerDumpWriter().GetDump(GUID_LOPART(guid), dump))
- sLog->outDebug(LOG_FILTER_CHARACTER, dump.c_str(), GetAccountId(), GUID_LOPART(guid), name.c_str());
+ {
+ std::ostringstream ss;
+ ss << GetAccountId() << '_' << name.c_str();
+ sLog->outCharDump(ss.str().c_str(), dump.c_str(), GetAccountId(), GUID_LOPART(guid), name.c_str());
+ }
}
Player::DeleteFromDB(guid, GetAccountId());
diff --git a/src/server/shared/Logging/Appender.h b/src/server/shared/Logging/Appender.h
index b95a72c6713..56662bbee15 100644
--- a/src/server/shared/Logging/Appender.h
+++ b/src/server/shared/Logging/Appender.h
@@ -63,10 +63,13 @@ enum LogFilterType
LOG_FILTER_ARENAS,
LOG_FILTER_SQL_DRIVER,
LOG_FILTER_SQL_DEV,
- LOG_FILTER_OPCODES
+ LOG_FILTER_PLAYER_DUMP,
+ LOG_FILTER_BATTLEFIELD,
+ LOG_FILTER_OPCODES,
};
-const uint8 MaxLogFilter = uint8(LOG_FILTER_SQL_DEV) + 1;
+const uint8 MaxLogFilter = uint8(LOG_FILTER_OPCODES) + 1;
+
// Values assigned have their equivalent in enum ACE_Log_Priority
enum LogLevel
@@ -106,7 +109,6 @@ struct LogMessage
: level(_level)
, type(_type)
, text(_text)
- , param1(0)
{
mtime = time(NULL);
}
@@ -118,7 +120,7 @@ struct LogMessage
LogFilterType type;
std::string text;
std::string prefix;
- uint32 param1;
+ std::string param1;
time_t mtime;
};
diff --git a/src/server/shared/Logging/AppenderFile.cpp b/src/server/shared/Logging/AppenderFile.cpp
index 01a2f34baa7..67adff39aae 100644
--- a/src/server/shared/Logging/AppenderFile.cpp
+++ b/src/server/shared/Logging/AppenderFile.cpp
@@ -24,7 +24,7 @@ AppenderFile::AppenderFile(uint8 id, std::string const& name, LogLevel level, co
, logDir(_logDir)
, mode(_mode)
{
- dynamicName = std::string::npos != filename.find("%u");
+ dynamicName = std::string::npos != filename.find("%s");
backup = _flags & APPENDER_FLAGS_MAKE_FILE_BACKUP;
logfile = !dynamicName ? OpenFile(_filename, _mode, backup) : NULL;
@@ -44,7 +44,7 @@ void AppenderFile::_write(LogMessage& message)
if (dynamicName)
{
char namebuf[TRINITY_PATH_MAX];
- snprintf(namebuf, TRINITY_PATH_MAX, filename.c_str(), message.param1);
+ snprintf(namebuf, TRINITY_PATH_MAX, filename.c_str(), message.param1.c_str());
logfile = OpenFile(namebuf, mode, backup);
}
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp
index 2e0b2202e06..82fb5b9461e 100644
--- a/src/server/shared/Logging/Log.cpp
+++ b/src/server/shared/Logging/Log.cpp
@@ -449,6 +449,23 @@ void Log::outFatal(LogFilterType filter, const char * str, ...)
va_end(ap);
}
+void Log::outCharDump(const char* param, const char * str, ...)
+{
+ 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);
+
+ LogMessage* msg = new LogMessage(LOG_LEVEL_INFO, LOG_FILTER_PLAYER_DUMP, text);
+ msg->param1 = param;
+
+ write(msg);
+}
+
void Log::outCommand(uint32 account, const char * str, ...)
{
if (!str || !ShouldLog(LOG_FILTER_GMCOMMAND, LOG_LEVEL_INFO))
@@ -461,7 +478,10 @@ void Log::outCommand(uint32 account, const char * str, ...)
va_end(ap);
LogMessage* msg = new LogMessage(LOG_LEVEL_INFO, LOG_FILTER_GMCOMMAND, text);
- msg->param1 = account;
+
+ std::ostringstream ss;
+ ss << account;
+ msg->param1 = ss.str();
write(msg);
}
diff --git a/src/server/shared/Logging/Log.h b/src/server/shared/Logging/Log.h
index 898db43a883..45e42aec1fc 100644
--- a/src/server/shared/Logging/Log.h
+++ b/src/server/shared/Logging/Log.h
@@ -57,6 +57,7 @@ class Log
void EnableDBAppenders();
void outCommand(uint32 account, const char * str, ...) ATTR_PRINTF(3, 4);
+ void outCharDump(const char* param, const char* str, ...) ATTR_PRINTF(3, 4);
static std::string GetTimestampStr();
void SetRealmID(uint32 id);
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 477b3065dee..376de2ac97c 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -2592,7 +2592,7 @@ PlayerDump.DisallowOverwrite = 1
# 5 - (Error)
# 6 - (Fatal)
#
-# Flags: Default Console = 6, File = 7, DB = 0
+# Flags:
# 0 - None
# 1 - Prefix Timestamp to the text
# 2 - Prefix Log Level to the text
@@ -2629,13 +2629,14 @@ PlayerDump.DisallowOverwrite = 1
Appender.Console=1,2,6
Appender.Server=2,2,7,Server.log,w
-Appender.GM=2,2,7,GM.log
+Appender.GM=2,2,7,GM_%s.log
Appender.SQL=2,2,7,SQL.log
Appender.DBErrors=2,2,7,DBErrors.log
Appender.Char=2,2,7,Char.log,w
+Appender.CharDump=2,2,0,chardumps/%s.log
Appender.RA=2,2,7,RA.log
Appender.Arenas=2,2,7,Arena.log
-Appender.SQLDev=2,2,7,SQLDev.log
+Appender.SQLDev=2,2,0,SQLDev.log
Appender.SQLDriver=2,2,7,SQLDriver.log
Appender.Warden=2,2,7,Warden.log
Appender.Chat=2,2,7,Chat.log
@@ -2684,13 +2685,15 @@ Appender.Chat=2,2,7,Chat.log
# 31 - Worldserver
# 32 - Game Events
# 33 - Calendar
-# 34 - Character (Exclusive to log login, logout, create, rename, delete actions)
+# 34 - Character (Exclusive to log login, logout, create, rename)
# 35 - Arenas
# 36 - SQL Driver
# 37 - SQL Dev
-# 38 - Opcodes
+# 38 - Player Dump
+# 39 - Battlefield
+# 40 - Opcodes
-Logger.Root=0,5,Console Server
+Logger.Root=0,3,Console Server
Logger.Units=1,3,Console Server
Logger.Pets=2,3,Console Server
Logger.Vehicles=3,3,Console Server
@@ -2716,7 +2719,7 @@ Logger.PlayerChat=22,3,Chat
Logger.Loot=23,3,Console Server
Logger.Guilds=24,3,Console Server
Logger.Transports=25,3,Console Server
-Logger.SQL=26,2,Console Server SQL
+Logger.SQL=26,2,Console Server DBErrors
Logger.GM=27,3,Console Server GM
Logger.RA=28,3,RA
Logger.Warden=29,3,Warden
@@ -2728,7 +2731,10 @@ Logger.Character=34,3,Char
Logger.Arenas=35,3,Arenas
Logger.SQLDriver=36,5,SQLDriver
Logger.SQLDev=37,3,SQLDev
-Logger.Opcodes=38,2,Console Server
+Logger.CharDump=38,5,CharDump
+Logger.Battlefield=39,3,Console Server
+Logger.Opcodes=40,2,Console Server
+
# LogLevel
# 0 - (Disabled)
@@ -2747,7 +2753,7 @@ Logger.Opcodes=38,2,Console Server
# (Using spaces as separator).
# Default: "Console Server"
-Appenders=Console Server
+Appenders=Console Server GM Char Arenas Warden DBErrors CharDump
#
# Loggers
@@ -2755,4 +2761,4 @@ Appenders=Console Server
# (Using spaces as separator).
# Default: "root"
-Loggers=Root Opcodes NetWork SQL
+Loggers=Root GM Character Arenas Warden SQL