diff options
author | Henrik Edin <henrik.edin@mongodb.com> | 2020-02-11 14:29:17 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-02-13 21:14:48 +0000 |
commit | 1de33fe9efad7ebc9a40c515131fc33b8e284c6a (patch) | |
tree | e42bf6f50a0c56d5292a31682d88e99346edd51e /src/mongo/db | |
parent | 9aa9fa4a2844f0fe7890e01d621960a0c64607f6 (diff) | |
download | mongo-1de33fe9efad7ebc9a40c515131fc33b8e284c6a.tar.gz |
SERVER-42722 Implement --timeStampFormat in logv2.
Removed option for ctime as it is not allowed in Extended JSON.
Diffstat (limited to 'src/mongo/db')
-rw-r--r-- | src/mongo/db/initialize_server_global_state.cpp | 14 | ||||
-rw-r--r-- | src/mongo/db/server_options.h | 2 | ||||
-rw-r--r-- | src/mongo/db/server_options_base.idl | 2 | ||||
-rw-r--r-- | src/mongo/db/server_options_helpers.cpp | 8 |
4 files changed, 15 insertions, 11 deletions
diff --git a/src/mongo/db/initialize_server_global_state.cpp b/src/mongo/db/initialize_server_global_state.cpp index db4f894e815..b7f7a3f854c 100644 --- a/src/mongo/db/initialize_server_global_state.cpp +++ b/src/mongo/db/initialize_server_global_state.cpp @@ -28,6 +28,7 @@ */ #define MONGO_LOG_DEFAULT_COMPONENT ::mongo::logger::LogComponent::kControl +#define MONGO_LOGV2_DEFAULT_COMPONENT ::mongo::logv2::LogComponent::kControl #include "mongo/platform/basic.h" @@ -226,6 +227,7 @@ MONGO_INITIALIZER_GENERAL(ServerLogRedirection, logv2::LogDomainGlobal::ConfigurationOptions lv2Config; MessageEventDetailsEncoder::setMaxLogSizeKBSource(gMaxLogAttributeSizeKB); lv2Config.maxAttributeSizeKB = &gMaxLogAttributeSizeKB; + bool writeServerRestartedAfterLogConfig = false; if (serverGlobalParams.logWithSyslog) { #ifdef _WIN32 @@ -324,11 +326,7 @@ MONGO_INITIALIZER_GENERAL(ServerLogRedirection, : logv2::LogDomainGlobal::ConfigurationOptions::OpenMode::kTruncate; if (serverGlobalParams.logAppend && exists) { - LOGV2(20698, "***** SERVER RESTARTED *****"); - // FIXME rewrite for logv2 - // Status status = logger::RotatableFileWriter::Use(writer.getValue()).status(); - // if (!status.isOK()) - // return status; + writeServerRestartedAfterLogConfig = true; } } else { @@ -377,7 +375,11 @@ MONGO_INITIALIZER_GENERAL(ServerLogRedirection, if (logV2Enabled()) { lv2Config.format = serverGlobalParams.logFormat; - return lv2Manager.getGlobalDomainInternal().configure(lv2Config); + lv2Config.timestampFormat = serverGlobalParams.logTimestampFormat; + Status result = lv2Manager.getGlobalDomainInternal().configure(lv2Config); + if (result.isOK() && writeServerRestartedAfterLogConfig) + LOGV2(20698, "***** SERVER RESTARTED *****"); + return result; } return Status::OK(); diff --git a/src/mongo/db/server_options.h b/src/mongo/db/server_options.h index 076f8decb87..12913018092 100644 --- a/src/mongo/db/server_options.h +++ b/src/mongo/db/server_options.h @@ -99,6 +99,8 @@ struct ServerGlobalParams { std::string logpath; // Path to log file, if logging to a file; otherwise, empty. logv2::LogFormat logFormat = logv2::LogFormat::kDefault; // Log format to output to + logv2::LogTimestampFormat logTimestampFormat = logv2::LogTimestampFormat::kISO8601Local; + bool logAppend = false; // True if logging to a file in append mode. bool logRenameOnRotate = true; // True if logging should rename log files on rotate bool logWithSyslog = false; // True if logging to syslog; must not be set if logpath is set. diff --git a/src/mongo/db/server_options_base.idl b/src/mongo/db/server_options_base.idl index aa150ec5d08..fcf7a88047f 100644 --- a/src/mongo/db/server_options_base.idl +++ b/src/mongo/db/server_options_base.idl @@ -140,7 +140,7 @@ configs: short_name: logRotate arg_vartype: String 'systemLog.timeStampFormat': - description: Desired format for timestamps in log messages. One of ctime, iso8601-utc or iso8601-local + description: Desired format for timestamps in log messages. One of iso8601-utc or iso8601-local short_name: timeStampFormat arg_vartype: String diff --git a/src/mongo/db/server_options_helpers.cpp b/src/mongo/db/server_options_helpers.cpp index 5fc7039d866..116f46a2413 100644 --- a/src/mongo/db/server_options_helpers.cpp +++ b/src/mongo/db/server_options_helpers.cpp @@ -312,15 +312,15 @@ Status storeBaseOptions(const moe::Environment& params) { if (params.count("systemLog.timeStampFormat")) { using logger::MessageEventDetailsEncoder; std::string formatterName = params["systemLog.timeStampFormat"].as<string>(); - if (formatterName == "ctime") { - MessageEventDetailsEncoder::setDateFormatter(outputDateAsCtime); - } else if (formatterName == "iso8601-utc") { + if (formatterName == "iso8601-utc") { MessageEventDetailsEncoder::setDateFormatter(outputDateAsISOStringUTC); + serverGlobalParams.logTimestampFormat = logv2::LogTimestampFormat::kISO8601UTC; } else if (formatterName == "iso8601-local") { MessageEventDetailsEncoder::setDateFormatter(outputDateAsISOStringLocal); + serverGlobalParams.logTimestampFormat = logv2::LogTimestampFormat::kISO8601Local; } else { StringBuilder sb; - sb << "Value of logTimestampFormat must be one of ctime, iso8601-utc " + sb << "Value of logTimestampFormat must be one of iso8601-utc " << "or iso8601-local; not \"" << formatterName << "\"."; return Status(ErrorCodes::BadValue, sb.str()); } |