diff options
author | Henrik Edin <henrik.edin@mongodb.com> | 2020-01-24 11:17:59 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-01-28 00:05:44 +0000 |
commit | 24f2cf176a6401afcbb2280e4f0a7a016854464c (patch) | |
tree | 8d4dbff46b72ecf8f6012b6bcc4010fa5a099cc5 /src/mongo/logv2/json_formatter.cpp | |
parent | 582a071fa36630d302a25c9a6aec992fcd07a1e5 (diff) | |
download | mongo-24f2cf176a6401afcbb2280e4f0a7a016854464c.tar.gz |
SERVER-45755 Special formatting for duration type in logv2
Unit suffix gets appended to attribute name when creating JSON field name.
Diffstat (limited to 'src/mongo/logv2/json_formatter.cpp')
-rw-r--r-- | src/mongo/logv2/json_formatter.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mongo/logv2/json_formatter.cpp b/src/mongo/logv2/json_formatter.cpp index d70caf693b9..7fecf7c0f62 100644 --- a/src/mongo/logv2/json_formatter.cpp +++ b/src/mongo/logv2/json_formatter.cpp @@ -102,6 +102,13 @@ struct JSONValueExtractor { storeQuoted(name, value); } + template <typename Period> + void operator()(StringData name, const Duration<Period>& value) { + fmt::format_to( + _buffer, R"({}"{}{}":{})", _separator, name, value.mongoUnitSuffix(), value.count()); + _separator = ","_sd; + } + template <typename T> void operator()(StringData name, const T& value) { storeUnquotedValue(name, value); |