summaryrefslogtreecommitdiff
path: root/src/mongo/db/server_options_test.cpp
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2014-07-09 12:48:14 -0400
committerBenety Goh <benety@mongodb.com>2014-07-15 23:07:24 -0400
commit6f8e975b7a7ef18baf25281b206288a74deb5972 (patch)
treeea40804f612dfb8d77d847f5fc8d30237f819904 /src/mongo/db/server_options_test.cpp
parent758d86f85a26578a5c99c2f1f128bbe86752bb32 (diff)
downloadmongo-6f8e975b7a7ef18baf25281b206288a74deb5972.tar.gz
SERVER-14415 added yaml config options to set log component hierarchy verbosity levels
Diffstat (limited to 'src/mongo/db/server_options_test.cpp')
-rw-r--r--src/mongo/db/server_options_test.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/mongo/db/server_options_test.cpp b/src/mongo/db/server_options_test.cpp
index 02438823db3..254ae283bfb 100644
--- a/src/mongo/db/server_options_test.cpp
+++ b/src/mongo/db/server_options_test.cpp
@@ -339,4 +339,81 @@ namespace {
::mongo::logger::LogSeverity::Debug(verbosity));
}
+ TEST(Verbosity, YAMLConfigStringLogComponent) {
+ OptionsParserTester parser;
+ moe::Environment environment;
+ moe::OptionSection options;
+
+ // Reset the log level before we test
+ ::mongo::logger::globalLogDomain()->setMinimumLoggedSeverity(
+ ::mongo::logger::LogSeverity::Info());
+ // Log level for Storage will be cleared by config file value.
+ ::mongo::logger::globalLogDomain()->setMinimumLoggedSeverity(
+ ::mongo::logger::LogComponent::kStorage,
+ ::mongo::logger::LogSeverity::Debug(1));
+
+ ASSERT_OK(::mongo::addGeneralServerOptions(&options));
+
+ std::vector<std::string> argv;
+ argv.push_back("binaryname");
+ argv.push_back("--config");
+ argv.push_back("config.yaml");
+ std::map<std::string, std::string> env_map;
+
+ parser.setConfig("config.yaml",
+ "systemLog:\n"
+ " verbosity: 4\n"
+ " component:\n"
+ " accessControl:\n"
+ " verbosity: 0\n"
+ " storage:\n"
+ " verbosity: -1\n"
+ " journaling:\n"
+ " verbosity: 2\n");
+
+ ASSERT_OK(parser.run(options, argv, env_map, &environment));
+
+ ASSERT_OK(::mongo::validateServerOptions(environment));
+ ASSERT_OK(::mongo::canonicalizeServerOptions(&environment));
+ ASSERT_OK(::mongo::storeServerOptions(environment, argv));
+
+ // Verify component log levels using global log domain.
+ int verbosity = 4;
+
+ // Default
+ ASSERT_EQUALS(::mongo::logger::globalLogDomain()->getMinimumLogSeverity(),
+ ::mongo::logger::LogSeverity::Debug(verbosity));
+ ASSERT_EQUALS(::mongo::logger::globalLogDomain()->getMinimumLogSeverity(
+ ::mongo::logger::LogComponent::kDefault),
+ ::mongo::logger::LogSeverity::Debug(verbosity));
+
+ // AccessControl
+ ASSERT_TRUE(::mongo::logger::globalLogDomain()->hasMinimumLogSeverity(
+ ::mongo::logger::LogComponent::kAccessControl));
+ ASSERT_EQUALS(::mongo::logger::globalLogDomain()->getMinimumLogSeverity(
+ ::mongo::logger::LogComponent::kAccessControl),
+ ::mongo::logger::LogSeverity::Log());
+
+ // Query - not mentioned in configuration. should match default.
+ ASSERT_FALSE(::mongo::logger::globalLogDomain()->hasMinimumLogSeverity(
+ ::mongo::logger::LogComponent::kStorage));
+ ASSERT_EQUALS(::mongo::logger::globalLogDomain()->getMinimumLogSeverity(
+ ::mongo::logger::LogComponent::kStorage),
+ ::mongo::logger::LogSeverity::Debug(verbosity));
+
+ // Storage - cleared by -1 value in configuration. should match default.
+ ASSERT_FALSE(::mongo::logger::globalLogDomain()->hasMinimumLogSeverity(
+ ::mongo::logger::LogComponent::kStorage));
+ ASSERT_EQUALS(::mongo::logger::globalLogDomain()->getMinimumLogSeverity(
+ ::mongo::logger::LogComponent::kStorage),
+ ::mongo::logger::LogSeverity::Debug(verbosity));
+
+ // Journaling - explicitly set to 2 in configuration.
+ ASSERT_TRUE(::mongo::logger::globalLogDomain()->hasMinimumLogSeverity(
+ ::mongo::logger::LogComponent::kJournaling));
+ ASSERT_EQUALS(::mongo::logger::globalLogDomain()->getMinimumLogSeverity(
+ ::mongo::logger::LogComponent::kJournaling),
+ ::mongo::logger::LogSeverity::Debug(2));
+ }
+
} // unnamed namespace