in src/main/cpp/jsonlayout.cpp [281:335]
void JSONLayout::appendSerializedMDC(LogString& buf,
const LoggingEventPtr& event) const
{
LoggingEvent::KeySet keys = event->getMDCKeySet();
if (keys.empty())
{
return;
}
buf.append(LOG4CXX_STR(","));
buf.append(m_priv->prettyPrint ? LOG4CXX_EOL : LOG4CXX_STR(" "));
if (m_priv->prettyPrint)
{
buf.append(m_priv->ppIndentL1);
}
appendQuotedEscapedString(buf, LOG4CXX_STR("context_map"));
buf.append(LOG4CXX_STR(": {"));
buf.append(m_priv->prettyPrint ? LOG4CXX_EOL : LOG4CXX_STR(" "));
for (LoggingEvent::KeySet::iterator it = keys.begin();
it != keys.end(); ++it)
{
if (m_priv->prettyPrint)
{
buf.append(m_priv->ppIndentL2);
}
appendQuotedEscapedString(buf, *it);
buf.append(LOG4CXX_STR(": "));
LogString value;
event->getMDC(*it, value);
appendQuotedEscapedString(buf, value);
/* if this isn't the last k:v pair, we need a comma */
if (it + 1 != keys.end())
{
buf.append(LOG4CXX_STR(","));
buf.append(m_priv->prettyPrint ? LOG4CXX_EOL : LOG4CXX_STR(" "));
}
else
{
buf.append(m_priv->prettyPrint ? LOG4CXX_EOL : LOG4CXX_STR(" "));
}
}
if (m_priv->prettyPrint)
{
buf.append(m_priv->ppIndentL1);
}
buf.append(LOG4CXX_STR("}"));
}