diff options
Diffstat (limited to 'src/server/shared/Logging/Log.cpp')
-rwxr-xr-x | src/server/shared/Logging/Log.cpp | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp index 3c6a1882259..e755e7208c3 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), + dberLogfile(NULL), chatLogfile(NULL), arenaLogFile(NULL), sqlLogFile(NULL), sqlDevLogFile(NULL), m_gmlog_per_account(false), m_enableLogDBLater(false), m_enableLogDB(false), m_colored(false) { @@ -69,6 +69,10 @@ Log::~Log() if (sqlLogFile != NULL) fclose(sqlLogFile); sqlLogFile = NULL; + + if (sqlDevLogFile != NULL) + fclose(sqlDevLogFile); + sqlDevLogFile = NULL; } void Log::SetLogLevel(char *Level) @@ -161,6 +165,7 @@ void Log::Initialize() chatLogfile = openLogFile("ChatLogFile", "ChatLogTimestamp", "a"); arenaLogFile = openLogFile("ArenaLogFile", NULL, "a"); sqlLogFile = openLogFile("SQLDriverLogFile", NULL, "a"); + sqlDevLogFile = openLogFile("SQLDeveloperLogFile", NULL, "a"); // Main log file settings m_logLevel = sConfig->GetIntDefault("LogLevel", LOGL_NORMAL); @@ -714,6 +719,32 @@ void Log::outDebugInLine(const char * str, ...) } } +void Log::outSQLDev(const char* str, ...) +{ + if (!str) + return; + + va_list ap; + va_start(ap, str); + vutf8printf(stdout, str, &ap); + va_end(ap); + + printf("\n"); + + if (sqlDevLogFile) + { + va_list ap; + va_start(ap, str); + vfprintf(sqlDevLogFile, str, ap); + va_end(ap); + + fprintf(sqlDevLogFile, "\n"); + fflush(sqlDevLogFile); + } + + fflush(stdout); +} + void Log::outDebug(DebugLogFilters f, const char * str, ...) { if (!(m_DebugLogMask & f)) |