aboutsummaryrefslogtreecommitdiff
path: root/src/shared/Log.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-01 15:53:03 -0500
committermegamage <none@none>2009-06-01 15:53:03 -0500
commit2c350bcb803ab386a3680227aa6e641e3ae8ad03 (patch)
tree1ea4bd25064fdce3e497531e67a7b0fd52194c2a /src/shared/Log.cpp
parent751665248146001f45c30924037bb200a2821d60 (diff)
parent16e0e9931edf21f837672cdc14f5a8298eba444e (diff)
*Merge.
--HG-- branch : trunk
Diffstat (limited to 'src/shared/Log.cpp')
-rw-r--r--src/shared/Log.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/shared/Log.cpp b/src/shared/Log.cpp
index d81594c9787..c90b96b291f 100644
--- a/src/shared/Log.cpp
+++ b/src/shared/Log.cpp
@@ -32,6 +32,7 @@ INSTANTIATE_SINGLETON_1( Log );
Log::Log() :
raLogfile(NULL), logfile(NULL), gmLogfile(NULL), charLogfile(NULL),
dberLogfile(NULL), chatLogfile(NULL), m_gmlog_per_account(false), m_colored(false)
+ , arenaLogFile(NULL)
{
Initialize();
}
@@ -61,6 +62,10 @@ Log::~Log()
if (chatLogfile != NULL)
fclose(chatLogfile);
chatLogfile = NULL;
+
+ if (arenaLogFile != NULL)
+ fclose(arenaLogFile);
+ arenaLogFile = NULL;
}
void Log::SetLogLevel(char *Level)
@@ -154,6 +159,7 @@ void Log::Initialize()
dberLogfile = openLogFile("DBErrorLogFile",NULL,"a");
raLogfile = openLogFile("RaLogFile",NULL,"a");
chatLogfile = openLogFile("ChatLogFile","ChatLogTimestamp","a");
+ arenaLogFile = openLogFile("ArenaLogFile",NULL,"a");
// Main log file settings
m_logLevel = sConfig.GetIntDefault("LogLevel", LOGL_NORMAL);
@@ -173,6 +179,7 @@ void Log::Initialize()
// Char log settings
m_charLog_Dump = sConfig.GetBoolDefault("CharLogDump", false);
+
}
FILE* Log::openLogFile(char const* configFileName,char const* configTimeStampFlag, char const* mode)
@@ -491,6 +498,24 @@ void Log::outError( const char * err, ... )
fflush(stderr);
}
+void Log::outArena( const char * str, ... )
+{
+ if( !str )
+ return;
+
+ if(arenaLogFile)
+ {
+ va_list ap;
+ outTimestamp(arenaLogFile);
+ va_start(ap, str);
+ vfprintf(arenaLogFile, str, ap);
+ fprintf(arenaLogFile, "\n" );
+ va_end(ap);
+ fflush(arenaLogFile);
+ }
+ fflush(stdout);
+}
+
void Log::outErrorDb( const char * err, ... )
{
if( !err )