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:
1 parent
d26bb8517c
commit
8aa9745c4c
12 files changed
+243
-394
No files matched your search
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user