summaryrefslogtreecommitdiff
path: root/src/mongo/db/initialize_server_global_state.cpp
diff options
context:
space:
mode:
authorGabriel Russell <gabriel.russell@mongodb.com>2019-10-16 16:11:00 +0000
committerevergreen <evergreen@mongodb.com>2019-10-16 16:11:00 +0000
commit81e1eb03f722595bc321ed2322ad14901887ab11 (patch)
tree4bd45a10b11c904c2a67fe3c3475fd4f010416d7 /src/mongo/db/initialize_server_global_state.cpp
parent9bee42b1be57065f6ef963e6aa535a66a39e04f2 (diff)
downloadmongo-81e1eb03f722595bc321ed2322ad14901887ab11.tar.gz
SERVER-43746 logv2 Tee and RamLog
Diffstat (limited to 'src/mongo/db/initialize_server_global_state.cpp')
-rw-r--r--src/mongo/db/initialize_server_global_state.cpp29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/mongo/db/initialize_server_global_state.cpp b/src/mongo/db/initialize_server_global_state.cpp
index 1a7d2277cfb..174a7d1cddd 100644
--- a/src/mongo/db/initialize_server_global_state.cpp
+++ b/src/mongo/db/initialize_server_global_state.cpp
@@ -231,10 +231,13 @@ MONGO_INITIALIZER_GENERAL(ServerLogRedirection,
"Syslog requested in Windows build; command line processor logic error");
#else
std::unique_ptr<logger::Appender<MessageEventEphemeral>> appender;
+ std::unique_ptr<logger::Appender<MessageEventEphemeral>> javascriptAppender;
if (serverGlobalParams.logV2) {
appender = std::make_unique<logger::LogV2Appender<MessageEventEphemeral>>(
&(lv2Manager.getGlobalDomain()));
+ javascriptAppender = std::make_unique<logger::LogV2Appender<MessageEventEphemeral>>(
+ &(lv2Manager.getGlobalDomain()));
lv2Config._consoleEnabled = false;
lv2Config._syslogEnabled = true;
@@ -246,13 +249,13 @@ MONGO_INITIALIZER_GENERAL(ServerLogRedirection,
openlog(
strdup(sb.str().c_str()), LOG_PID | LOG_CONS, serverGlobalParams.syslogFacility);
appender = std::make_unique<SyslogAppender<MessageEventEphemeral>>(
- std::make_unique<logger::MessageEventDetailsEncoder>());
- manager->getNamedDomain("javascriptOutput")
- ->attachAppender(std::make_unique<SyslogAppender<MessageEventEphemeral>>(
- std::make_unique<logger::MessageEventDetailsEncoder>()));
+ std::make_unique<MessageEventDetailsEncoder>());
+ javascriptAppender = std::make_unique<SyslogAppender<MessageEventEphemeral>>(
+ std::make_unique<MessageEventDetailsEncoder>());
}
manager->getGlobalDomain()->clearAppenders();
manager->getGlobalDomain()->attachAppender(std::move(appender));
+ manager->getNamedDomain("javascriptOutput")->attachAppender(std::move(javascriptAppender));
#endif // defined(_WIN32)
} else if (!serverGlobalParams.logpath.empty()) {
@@ -297,11 +300,14 @@ MONGO_INITIALIZER_GENERAL(ServerLogRedirection,
}
std::unique_ptr<logger::Appender<MessageEventEphemeral>> appender;
+ std::unique_ptr<logger::Appender<MessageEventEphemeral>> javascriptAppender;
if (serverGlobalParams.logV2) {
appender = std::make_unique<logger::LogV2Appender<MessageEventEphemeral>>(
&(lv2Manager.getGlobalDomain()));
+ javascriptAppender = std::make_unique<logger::LogV2Appender<MessageEventEphemeral>>(
+ &(lv2Manager.getGlobalDomain()));
lv2Config._consoleEnabled = false;
lv2Config._fileEnabled = true;
@@ -329,9 +335,8 @@ MONGO_INITIALIZER_GENERAL(ServerLogRedirection,
}
appender = std::make_unique<RotatableFileAppender<MessageEventEphemeral>>(
std::make_unique<MessageEventDetailsEncoder>(), writer.getValue());
- manager->getNamedDomain("javascriptOutput")
- ->attachAppender(std::make_unique<RotatableFileAppender<MessageEventEphemeral>>(
- std::make_unique<MessageEventDetailsEncoder>(), writer.getValue()));
+ javascriptAppender = std::make_unique<RotatableFileAppender<MessageEventEphemeral>>(
+ std::make_unique<MessageEventDetailsEncoder>(), writer.getValue());
if (serverGlobalParams.logAppend && exists) {
log() << "***** SERVER RESTARTED *****";
Status status = logger::RotatableFileWriter::Use(writer.getValue()).status();
@@ -342,6 +347,7 @@ MONGO_INITIALIZER_GENERAL(ServerLogRedirection,
manager->getGlobalDomain()->clearAppenders();
manager->getGlobalDomain()->attachAppender(std::move(appender));
+ manager->getNamedDomain("javascriptOutput")->attachAppender(std::move(javascriptAppender));
} else {
if (serverGlobalParams.logV2) {
@@ -349,6 +355,9 @@ MONGO_INITIALIZER_GENERAL(ServerLogRedirection,
manager->getGlobalDomain()->attachAppender(
std::make_unique<logger::LogV2Appender<MessageEventEphemeral>>(
&(lv2Manager.getGlobalDomain())));
+ manager->getNamedDomain("javascriptOutput")
+ ->attachAppender(std::make_unique<logger::LogV2Appender<MessageEventEphemeral>>(
+ &(lv2Manager.getGlobalDomain())));
} else {
logger::globalLogManager()
->getNamedDomain("javascriptOutput")
@@ -356,9 +365,11 @@ MONGO_INITIALIZER_GENERAL(ServerLogRedirection,
std::make_unique<MessageEventDetailsEncoder>()));
}
}
+ if (!serverGlobalParams.logV2) {
+ logger::globalLogDomain()->attachAppender(
+ std::make_unique<RamLogAppender>(RamLog::get("global")));
+ }
- logger::globalLogDomain()->attachAppender(
- std::make_unique<RamLogAppender>(RamLog::get("global")));
if (serverGlobalParams.logV2) {
lv2Config._format = serverGlobalParams.logFormat;