Core/Logging: Extend logging system to allow inheritance of loggers

- Changed default loggers and appenders
- '.' determines the relation between loggers ("type.subtype" inherits "type" logger setting if logger "type.subtype" is not defined)
- When core logs a message it search for the correct logger (root is the default one)
  ie: a message logged with "type.subtype"
  * Core will try to find a logger with name "type.subtype", if its not found then will search for "type", again if its not found it will return the default one "root"
This commit is contained in:
Spp committed 2013-11-07 16:34:44 +01:00
1 parent d26bb8517c
commit 8aa9745c4c
12 files changed
+243 -394

No files matched your search

+9 -17
View File
@@ -25,25 +25,17 @@ AppenderDB::~AppenderDB() { }
void AppenderDB::_write(LogMessage const& message)
{
if (!enabled)
// Avoid infinite loop, PExecute triggers Logging with LOG_FILTER_SQL type
if (!enabled || !message.type.find("sql"))
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:
PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_INS_LOG);
stmt->setUInt64(0, message.mtime);
stmt->setUInt32(1, realmId);
stmt->setUInt8(2, uint8(message.type));
stmt->setUInt8(3, uint8(message.level));
stmt->setString(4, message.text);
LoginDatabase.Execute(stmt);
break;
}
PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_INS_LOG);
stmt->setUInt64(0, message.mtime);
stmt->setUInt32(1, realmId);
stmt->setString(2, message.type);
stmt->setUInt8(3, uint8(message.level));
stmt->setString(4, message.text);
LoginDatabase.Execute(stmt);
}
void AppenderDB::setRealmId(uint32 _realmId)