diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/shared/Logging/Log.cpp | 33 | ||||
-rwxr-xr-x | src/server/shared/Logging/Log.h | 2 | ||||
-rw-r--r-- | src/server/worldserver/worldserver.conf.dist | 8 |
3 files changed, 42 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)) diff --git a/src/server/shared/Logging/Log.h b/src/server/shared/Logging/Log.h index 94e0491229b..9b5aedb8e2f 100755 --- a/src/server/shared/Logging/Log.h +++ b/src/server/shared/Logging/Log.h @@ -120,6 +120,7 @@ class Log void outCrash( const char * err, ... ) ATTR_PRINTF(2, 3); void outBasic( const char * str, ... ) ATTR_PRINTF(2, 3); void outDetail( const char * str, ... ) ATTR_PRINTF(2, 3); + void outSQLDev( const char * str, ... ) ATTR_PRINTF(2, 3); void outDebug(DebugLogFilters f, const char* str, ...) ATTR_PRINTF(3, 4); void outStaticDebug( const char * str, ... ) ATTR_PRINTF(2, 3); void outDebugInLine( const char * str, ... ) ATTR_PRINTF(2, 3); @@ -161,6 +162,7 @@ class Log FILE* chatLogfile; FILE* arenaLogFile; FILE* sqlLogFile; + FILE* sqlDevLogFile; // cache values for after initilization use (like gm log per account case) std::string m_logsDir; diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index eb1e33626c6..76ed553bfba 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -593,6 +593,14 @@ ArenaLogFile = "" ArenaLog.ExtendedInfo = 0 # +# SQLDeveloperLogFile +# Description: Log file for core-generated SQL queries/dumps +# Example: "SQLDev.log" - (Enabled) +# Default: "" - (Disabled) + +SQLDeveloperLogFile = "" + +# # SQLDriverLogFile # Description: Log file for SQL driver events. # Example: "SQLDriver.log" - (Enabled) |