From aa1eff83469e8fbddf2c96edfbe2a80645c8c3da Mon Sep 17 00:00:00 2001 From: Markus Pilman Date: Fri, 24 Aug 2018 15:36:42 -0700 Subject: [PATCH] formatted json log formatter --- flow/JsonTraceLogFormatter.cpp | 79 ++++++++++++++++------------------ 1 file changed, 36 insertions(+), 43 deletions(-) diff --git a/flow/JsonTraceLogFormatter.cpp b/flow/JsonTraceLogFormatter.cpp index 381c331c83..64e8e708d9 100644 --- a/flow/JsonTraceLogFormatter.cpp +++ b/flow/JsonTraceLogFormatter.cpp @@ -23,62 +23,55 @@ #include -void JsonTraceLogFormatter::addref() -{ - ReferenceCounted::addref(); +void JsonTraceLogFormatter::addref() { + ReferenceCounted::addref(); } -void JsonTraceLogFormatter::delref() -{ - ReferenceCounted::delref(); +void JsonTraceLogFormatter::delref() { + ReferenceCounted::delref(); } -const char* JsonTraceLogFormatter::getExtension() -{ - return "json"; +const char* JsonTraceLogFormatter::getExtension() { + return "json"; } -const char* JsonTraceLogFormatter::getHeader() -{ - return ""; +const char* JsonTraceLogFormatter::getHeader() { + return ""; } -const char* JsonTraceLogFormatter::getFooter() -{ - return ""; +const char* JsonTraceLogFormatter::getFooter() { + return ""; } namespace { -void escapeString(std::stringstream& ss, const std::string source) -{ - for (auto c : source) { - if (c == '"') { - ss << "\""; - } else if (c == '\\') { - ss << "\\\\"; - } else { - ss << c; - } - } +void escapeString(std::stringstream& ss, const std::string source) { + for (auto c : source) { + if (c == '"') { + ss << "\""; + } else if (c == '\\') { + ss << "\\\\"; + } else { + ss << c; + } + } } -} +} // namespace -std::string JsonTraceLogFormatter::formatEvent(const TraceEventFields& fields) -{ - std::stringstream ss; - ss << "{ "; - for (auto iter = fields.begin(); iter != fields.end(); ++iter) { - if (iter != fields.begin()) { - ss << ", "; - } - ss << "\""; - escapeString(ss, iter->first); - ss << "\": \""; - escapeString(ss, iter->second); - ss << "\""; - } - ss << " }\r\n"; - return ss.str(); +std::string JsonTraceLogFormatter::formatEvent(const TraceEventFields& fields) { + std::stringstream ss; + ss << "{ "; + for (auto iter = fields.begin(); iter != fields.end(); ++iter) { + if (iter != fields.begin()) { + ss << ", "; + } + ss << "\""; + escapeString(ss, iter->first); + ss << "\": \""; + escapeString(ss, iter->second); + ss << "\""; + } + ss << " }\r\n"; + return ss.str(); }