Core/Logging: Implement logging to database
This commit is contained in:
@@ -16,12 +16,7 @@
|
||||
*/
|
||||
|
||||
#include "AppenderDB.h"
|
||||
|
||||
/* FIXME
|
||||
#include "DatabaseWorkerPool.h"
|
||||
#include "Implementation/LoginDatabase.h" // For logging
|
||||
extern DatabaseWorkerPool LoginDatabase;
|
||||
*/
|
||||
#include "Database/DatabaseEnv.h"
|
||||
|
||||
AppenderDB::AppenderDB(uint8 id, std::string const& name, LogLevel level, uint8 realmId):
|
||||
Appender(id, name, APPENDER_DB, level), realm(realmId), enable(false)
|
||||
@@ -32,13 +27,21 @@ AppenderDB::~AppenderDB()
|
||||
{
|
||||
}
|
||||
|
||||
void AppenderDB::_write(LogMessage& /*message*/)
|
||||
void AppenderDB::_write(LogMessage& message)
|
||||
{
|
||||
/* FIXME
|
||||
if (enable)
|
||||
LoginDatabase.PExecute("INSERT INTO logs (time, realm, type, severity, string) "
|
||||
"VALUES (" UI64FMTD ", %u, %u, '%s');", message.mtime, realm, message.type, message.level, message.text.c_str());
|
||||
*/
|
||||
if (!enable)
|
||||
return;
|
||||
switch (message.type)
|
||||
{
|
||||
case LOG_FILTER_SQL:
|
||||
case LOG_FILTER_SQL_DRIVER:
|
||||
case LOG_FILTER_SQL_DEV:
|
||||
break; // Avoid infinite loop, PExecute triggers Logging with LOG_FILTER_SQL type
|
||||
default:
|
||||
LoginDatabase.PExecute("INSERT INTO logs (time, realm, type, level, string) "
|
||||
"VALUES (" UI64FMTD ", %u, %u, %u, '%s');", message.mtime, realm, message.type, message.level, message.text.c_str());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void AppenderDB::setEnable(bool _enable)
|
||||
|
||||
Reference in New Issue
Block a user