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

+4 -105
View File
@@ -74,7 +74,7 @@ void Appender::write(LogMessage& message)
message.prefix.clear();
if (flags & APPENDER_FLAGS_PREFIX_TIMESTAMP)
message.prefix.append(message.getTimeStr().c_str());
message.prefix.append(message.getTimeStr());
if (flags & APPENDER_FLAGS_PREFIX_LOGLEVEL)
{
@@ -91,9 +91,9 @@ void Appender::write(LogMessage& message)
if (!message.prefix.empty())
message.prefix.push_back(' ');
char text[MAX_QUERY_LEN];
snprintf(text, MAX_QUERY_LEN, "[%s]", Appender::getLogFilterTypeString(message.type));
message.prefix.append(text);
message.prefix.push_back('[');
message.prefix.append(message.type);
message.prefix.push_back(']');
}
if (!message.prefix.empty())
@@ -122,104 +122,3 @@ const char* Appender::getLogLevelString(LogLevel level)
return "DISABLED";
}
}
char const* Appender::getLogFilterTypeString(LogFilterType type)
{
switch (type)
{
case LOG_FILTER_GENERAL:
return "GENERAL";
case LOG_FILTER_UNITS:
return "UNITS";
case LOG_FILTER_PETS:
return "PETS";
case LOG_FILTER_VEHICLES:
return "VEHICLES";
case LOG_FILTER_TSCR:
return "TSCR";
case LOG_FILTER_DATABASE_AI:
return "DATABASE_AI";
case LOG_FILTER_MAPSCRIPTS:
return "MAPSCRIPTS";
case LOG_FILTER_NETWORKIO:
return "NETWORKIO";
case LOG_FILTER_SPELLS_AURAS:
return "SPELLS_AURAS";
case LOG_FILTER_ACHIEVEMENTSYS:
return "ACHIEVEMENTSYS";
case LOG_FILTER_CONDITIONSYS:
return "CONDITIONSYS";
case LOG_FILTER_POOLSYS:
return "POOLSYS";
case LOG_FILTER_AUCTIONHOUSE:
return "AUCTIONHOUSE";
case LOG_FILTER_BATTLEGROUND:
return "BATTLEGROUND";
case LOG_FILTER_OUTDOORPVP:
return "OUTDOORPVP";
case LOG_FILTER_CHATSYS:
return "CHATSYS";
case LOG_FILTER_LFG:
return "LFG";
case LOG_FILTER_MAPS:
return "MAPS";
case LOG_FILTER_PLAYER:
return "PLAYER";
case LOG_FILTER_PLAYER_LOADING:
return "PLAYER LOADING";
case LOG_FILTER_PLAYER_ITEMS:
return "PLAYER ITEMS";
case LOG_FILTER_PLAYER_SKILLS:
return "PLAYER SKILLS";
case LOG_FILTER_PLAYER_CHATLOG:
return "PLAYER CHATLOG";
case LOG_FILTER_LOOT:
return "LOOT";
case LOG_FILTER_GUILD:
return "GUILD";
case LOG_FILTER_TRANSPORTS:
return "TRANSPORTS";
case LOG_FILTER_SQL:
return "SQL";
case LOG_FILTER_GMCOMMAND:
return "GMCOMMAND";
case LOG_FILTER_REMOTECOMMAND:
return "REMOTECOMMAND";
case LOG_FILTER_WARDEN:
return "WARDEN";
case LOG_FILTER_AUTHSERVER:
return "AUTHSERVER";
case LOG_FILTER_WORLDSERVER:
return "WORLDSERVER";
case LOG_FILTER_GAMEEVENTS:
return "GAMEEVENTS";
case LOG_FILTER_CALENDAR:
return "CALENDAR";
case LOG_FILTER_CHARACTER:
return "CHARACTER";
case LOG_FILTER_ARENAS:
return "ARENAS";
case LOG_FILTER_SQL_DRIVER:
return "SQL DRIVER";
case LOG_FILTER_SQL_DEV:
return "SQL DEV";
case LOG_FILTER_PLAYER_DUMP:
return "PLAYER DUMP";
case LOG_FILTER_BATTLEFIELD:
return "BATTLEFIELD";
case LOG_FILTER_SERVER_LOADING:
return "SERVER LOADING";
case LOG_FILTER_OPCODES:
return "OPCODE";
case LOG_FILTER_SOAP:
return "SOAP";
case LOG_FILTER_RBAC:
return "RBAC";
case LOG_FILTER_CHEAT:
return "CHEAT";
default:
break;
}
return "???";
}