Add log context for bot chat end, ryzomclassic/#26

ryzomclassic-develop
kaetemi 5 years ago
parent a722988987
commit dabf75dbcf

@ -10838,6 +10838,8 @@ CCreature * CCharacter::startBotChat(BOTCHATTYPE::TBotChatFlags chatType)
//-----------------------------------------------
void CCharacter::endBotChat(bool newBotChat, bool closeDynChat)
{
TLogContext_Item_EndBotChat logContext(_Id);
_TradePagesToUpdate.clear();
if( _ShoppingList != 0 )

@ -52,7 +52,7 @@ public:
CItemDesc()
: _NoContextCount(0)
{
_LogDefs.resize(36);
_LogDefs.resize(37);
{
LGS::TLogDefinition &logDef = _LogDefs[0];
@ -568,6 +568,15 @@ public:
logDef.setContext(true);
}
{
LGS::TLogDefinition &logDef = _LogDefs[36];
logDef.setLogName("Item_EndBotChat");
logDef.setLogText("Bot chat ended. Check why this is causing item log");
logDef.setContext(true);
}
// Register the log definitions
LGS::ILoggerServiceClient::addLogDefinitions(_LogDefs);
@ -1252,6 +1261,30 @@ TLogContext_Item_EnchantPhrase::~TLogContext_Item_EnchantPhrase()
}
const std::string TLogContext_Item_EndBotChat::_ContextName("Item_EndBotChat");
/// The constructor push a log context in the logger system
TLogContext_Item_EndBotChat::TLogContext_Item_EndBotChat(const NLMISC::CEntityId &charId)
{
if (LGS::ILoggerServiceClient::isInitialized())
LGS::ILoggerServiceClient::getInstance()->pushLogContext(_ContextName);
// stack the context param in the context class object
ItemDesc.pushContextVar_charId(charId);
}
/// The destructor pop a context in the logger system
TLogContext_Item_EndBotChat::~TLogContext_Item_EndBotChat()
{
if (LGS::ILoggerServiceClient::isInitialized())
LGS::ILoggerServiceClient::getInstance()->popLogContext(_ContextName);
// pop the context param in the context class object
ItemDesc.popContextVar_charId();
}
/// No context context. Use this to disable any contextual log underneath
TLogNoContext_Item::TLogNoContext_Item()
{

@ -413,6 +413,21 @@ private:
static const std::string _ContextName;
};
struct TLogContext_Item_EndBotChat
{
/// The constructor push a log context in the logger system
TLogContext_Item_EndBotChat(const NLMISC::CEntityId &charId);
/// The desstructor pop a context in the logger system
~TLogContext_Item_EndBotChat();
private:
/// The name of the context
static const std::string _ContextName;
};

Loading…
Cancel
Save