aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Logging/AppenderDB.cpp
diff options
context:
space:
mode:
authorSpp <spp@jorge.gr>2012-08-06 13:20:24 +0200
committerSpp <spp@jorge.gr>2012-08-06 13:20:24 +0200
commit6d21515939388c5f24e3954880a21bea10c35173 (patch)
tree02395dc3f562bce4f7e73b7c4f0c60bf84336a62 /src/server/shared/Logging/AppenderDB.cpp
parent97c4b92eb02fc673d1230aadaee23aa7827a9761 (diff)
Core/Logging: Implement logging to database
Diffstat (limited to 'src/server/shared/Logging/AppenderDB.cpp')
-rw-r--r--src/server/shared/Logging/AppenderDB.cpp27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/server/shared/Logging/AppenderDB.cpp b/src/server/shared/Logging/AppenderDB.cpp
index 63af9176193..0254ec72bd0 100644
--- a/src/server/shared/Logging/AppenderDB.cpp
+++ b/src/server/shared/Logging/AppenderDB.cpp
@@ -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)