aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Logging/Log.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/shared/Logging/Log.cpp')
-rwxr-xr-xsrc/server/shared/Logging/Log.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp
index abdeace4d97..a9bb282cf86 100755
--- a/src/server/shared/Logging/Log.cpp
+++ b/src/server/shared/Logging/Log.cpp
@@ -29,7 +29,7 @@ extern LoginDatabaseWorkerPool LoginDatabase;
Log::Log() :
raLogfile(NULL), logfile(NULL), gmLogfile(NULL), charLogfile(NULL),
- dberLogfile(NULL), chatLogfile(NULL), arenaLogFile(NULL), sqlLogFile(NULL), sqlDevLogFile(NULL),
+ dberLogfile(NULL), chatLogfile(NULL), arenaLogFile(NULL), sqlLogFile(NULL), sqlDevLogFile(NULL), wardenLogFile(NULL),
m_gmlog_per_account(false), m_enableLogDBLater(false),
m_enableLogDB(false), m_colored(false)
{
@@ -73,6 +73,10 @@ Log::~Log()
if (sqlDevLogFile != NULL)
fclose(sqlDevLogFile);
sqlDevLogFile = NULL;
+
+ if (wardenLogFile != NULL)
+ fclose(wardenLogFile);
+ wardenLogFile = NULL;
}
void Log::SetLogLevel(char *Level)
@@ -166,6 +170,7 @@ void Log::Initialize()
arenaLogFile = openLogFile("ArenaLogFile", NULL, "a");
sqlLogFile = openLogFile("SQLDriverLogFile", NULL, "a");
sqlDevLogFile = openLogFile("SQLDeveloperLogFile", NULL, "a");
+ wardenLogFile = openLogFile("Warden.LogFile",NULL,"a");
// Main log file settings
m_logLevel = ConfigMgr::GetIntDefault("LogLevel", LOGL_NORMAL);
@@ -1055,3 +1060,20 @@ void Log::outErrorST(const char * str, ...)
ACE_Stack_Trace st;
outError("%s [Stacktrace: %s]", nnew_str, st.c_str());
}
+
+void Log::outWarden(const char * str, ...)
+{
+ if (!str)
+ return;
+
+ if (wardenLogFile)
+ {
+ outTimestamp(wardenLogFile);
+ va_list ap;
+ va_start(ap, str);
+ vfprintf(wardenLogFile, str, ap);
+ fprintf(wardenLogFile, "\n" );
+ fflush(wardenLogFile);
+ va_end(ap);
+ }
+}