diff options
author | Henrik Edin <henrik.edin@mongodb.com> | 2020-02-10 10:55:05 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-02-12 21:18:54 +0000 |
commit | 320b66da2ed0ea95a082560af1ac1fb1800884bb (patch) | |
tree | fa012dc6672b3fe571a4dd3d6f3268a1424f752e /src/mongo/db/service_entry_point_common.cpp | |
parent | 422a00208f14d2c3ab5a9708deaca7c1fb5448bd (diff) | |
download | mongo-320b66da2ed0ea95a082560af1ac1fb1800884bb.tar.gz |
SERVER-46058 Redaction of BSONObj results in BSONObj and not a string.
Diffstat (limited to 'src/mongo/db/service_entry_point_common.cpp')
-rw-r--r-- | src/mongo/db/service_entry_point_common.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/mongo/db/service_entry_point_common.cpp b/src/mongo/db/service_entry_point_common.cpp index 621aebf5f77..413a113e782 100644 --- a/src/mongo/db/service_entry_point_common.cpp +++ b/src/mongo/db/service_entry_point_common.cpp @@ -28,6 +28,7 @@ */ #define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kCommand +#define MONGO_LOGV2_DEFAULT_COMPONENT ::mongo::logv2::LogComponent::kCommand #include "mongo/platform/basic.h" @@ -82,6 +83,7 @@ #include "mongo/db/stats/top.h" #include "mongo/db/transaction_participant.h" #include "mongo/db/transaction_validation.h" +#include "mongo/logv2/log.h" #include "mongo/rpc/factory.h" #include "mongo/rpc/get_status_from_command_result.h" #include "mongo/rpc/message.h" @@ -127,11 +129,20 @@ void generateLegacyQueryErrorResponse(const AssertionException& exception, Message* response) { curop->debug().errInfo = exception.toStatus(); - log(LogComponent::kQuery) << "assertion " << exception.toString() << " ns:" << queryMessage.ns - << " query:" - << (queryMessage.query.valid(BSONVersion::kLatest) - ? redact(queryMessage.query) - : "query object is corrupt"); + if (queryMessage.query.valid(BSONVersion::kLatest)) + LOGV2_OPTIONS(51777, + {logv2::LogComponent::kQuery}, + "assertion {exception} ns: {ns} query: {query}", + "exception"_attr = exception, + "ns"_attr = queryMessage.ns, + "query"_attr = redact(queryMessage.query)); + else + LOGV2_OPTIONS(51778, + {logv2::LogComponent::kQuery}, + "assertion {exception} ns: {ns} query object is corrupt", + "exception"_attr = exception, + "ns"_attr = queryMessage.ns); + if (queryMessage.ntoskip || queryMessage.ntoreturn) { log(LogComponent::kQuery) << " ntoskip:" << queryMessage.ntoskip << " ntoreturn:" << queryMessage.ntoreturn; |