aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Logging
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/shared/Logging')
-rw-r--r--src/server/shared/Logging/Appender.h9
-rw-r--r--src/server/shared/Logging/AppenderFile.cpp4
-rwxr-xr-xsrc/server/shared/Logging/Log.cpp22
-rwxr-xr-xsrc/server/shared/Logging/Log.h1
4 files changed, 29 insertions, 7 deletions
diff --git a/src/server/shared/Logging/Appender.h b/src/server/shared/Logging/Appender.h
index 332edbf170c..ebe7408d400 100644
--- a/src/server/shared/Logging/Appender.h
+++ b/src/server/shared/Logging/Appender.h
@@ -62,10 +62,12 @@ enum LogFilterType
LOG_FILTER_CHARACTER,
LOG_FILTER_ARENAS,
LOG_FILTER_SQL_DRIVER,
- LOG_FILTER_SQL_DEV
+ LOG_FILTER_SQL_DEV,
+ LOG_FILTER_PLAYER_DUMP,
+ LOG_FILTER_BATTLEFIELD
};
-const uint8 MaxLogFilter = uint8(LOG_FILTER_SQL_DEV) + 1;
+const uint8 MaxLogFilter = uint8(LOG_FILTER_BATTLEFIELD) + 1;
// Values assigned have their equivalent in enum ACE_Log_Priority
enum LogLevel
@@ -105,7 +107,6 @@ struct LogMessage
: level(_level)
, type(_type)
, text(_text)
- , param1(0)
{
mtime = time(NULL);
}
@@ -117,7 +118,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 27f33754da9..64f7e697f1f 100755
--- 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 7b0e8cd381b..cd1e9dc80df 100755
--- a/src/server/shared/Logging/Log.h
+++ b/src/server/shared/Logging/Log.h
@@ -56,6 +56,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);