summaryrefslogtreecommitdiff
path: root/src/mongo/db/log_process_details.cpp
diff options
context:
space:
mode:
authorBilly Donahue <billy.donahue@mongodb.com>2020-03-22 22:32:49 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-03-23 13:31:33 +0000
commit2e58eb2e8a79c4fb4d12465616fa89ab498eb05c (patch)
tree73bba1b90f30d2446c9c6390f3215de501669318 /src/mongo/db/log_process_details.cpp
parent5846d4b66cf0adb154dbe89c696a750bc0a1082c (diff)
downloadmongo-2e58eb2e8a79c4fb4d12465616fa89ab498eb05c.tar.gz
SERVER-46765 fix '--version' & '--sysinfo', which use kPlain logging
This reverts commit 79a8452b2a813b796059e5eab6c18f685283ce08. with new spot fix: printCommandLineOpts when sending to log
Diffstat (limited to 'src/mongo/db/log_process_details.cpp')
-rw-r--r--src/mongo/db/log_process_details.cpp34
1 files changed, 24 insertions, 10 deletions
diff --git a/src/mongo/db/log_process_details.cpp b/src/mongo/db/log_process_details.cpp
index 9d43247991a..f63401df6fd 100644
--- a/src/mongo/db/log_process_details.cpp
+++ b/src/mongo/db/log_process_details.cpp
@@ -33,6 +33,11 @@
#include "mongo/db/log_process_details.h"
+#include <ostream>
+
+#include "mongo/bson/bsonobj.h"
+#include "mongo/bson/bsonobjbuilder.h"
+#include "mongo/bson/json.h"
#include "mongo/db/repl/repl_set_config.h"
#include "mongo/db/repl/replication_coordinator.h"
#include "mongo/db/server_options.h"
@@ -44,26 +49,35 @@
namespace mongo {
+namespace {
+
bool is32bit() {
return (sizeof(int*) == 4);
}
-void logProcessDetails() {
- auto&& vii = VersionInfoInterface::instance();
- vii.logBuildInfo();
-
- ProcessInfo p;
- LOGV2(
- 51765, "Operating system", "name"_attr = p.getOsName(), "version"_attr = p.getOsVersion());
+} // namespace
+void logProcessDetails(std::ostream* os) {
+ auto&& vii = VersionInfoInterface::instance();
if (ProcessInfo::getMemSizeMB() < ProcessInfo::getSystemMemSizeMB()) {
LOGV2_WARNING(20720,
"Available memory is less than system memory",
"availableMemSizeMB"_attr = ProcessInfo::getMemSizeMB(),
"systemMemSizeMB"_attr = ProcessInfo::getSystemMemSizeMB());
}
-
- printCommandLineOpts();
+ auto osInfo = BSONObjBuilder()
+ .append("name", ProcessInfo::getOsName())
+ .append("version", ProcessInfo::getOsVersion())
+ .obj();
+ vii.logBuildInfo(os);
+ if (os) {
+ *os << format(FMT_STRING("Operating System: {}"),
+ tojson(osInfo, ExtendedRelaxedV2_0_0, true))
+ << std::endl;
+ } else {
+ LOGV2(51765, "Operating System", "os"_attr = osInfo);
+ }
+ printCommandLineOpts(os);
}
void logProcessDetailsForLogRotate(ServiceContext* serviceContext) {
@@ -89,7 +103,7 @@ void logProcessDetailsForLogRotate(ServiceContext* serviceContext) {
}
}
- logProcessDetails();
+ logProcessDetails(nullptr);
}
} // namespace mongo