Core/Logging: Implement logging to database
This commit is contained in:
@@ -0,0 +1,2 @@
|
|||||||
|
ALTER TABLE `logs` ADD COLUMN `level` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0 AFTER `type`;
|
||||||
|
|
||||||
@@ -16,12 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "AppenderDB.h"
|
#include "AppenderDB.h"
|
||||||
|
#include "Database/DatabaseEnv.h"
|
||||||
/* FIXME
|
|
||||||
#include "DatabaseWorkerPool.h"
|
|
||||||
#include "Implementation/LoginDatabase.h" // For logging
|
|
||||||
extern DatabaseWorkerPool LoginDatabase;
|
|
||||||
*/
|
|
||||||
|
|
||||||
AppenderDB::AppenderDB(uint8 id, std::string const& name, LogLevel level, uint8 realmId):
|
AppenderDB::AppenderDB(uint8 id, std::string const& name, LogLevel level, uint8 realmId):
|
||||||
Appender(id, name, APPENDER_DB, level), realm(realmId), enable(false)
|
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)
|
||||||
if (enable)
|
return;
|
||||||
LoginDatabase.PExecute("INSERT INTO logs (time, realm, type, severity, string) "
|
switch (message.type)
|
||||||
"VALUES (" UI64FMTD ", %u, %u, '%s');", message.mtime, realm, message.type, message.level, message.text.c_str());
|
{
|
||||||
*/
|
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)
|
void AppenderDB::setEnable(bool _enable)
|
||||||
|
|||||||
Reference in New Issue
Block a user