You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by al...@apache.org on 2017/09/18 21:22:25 UTC
[7/7] mesos git commit: Added `logging::initialize()` to main
functions that use glog.
Added `logging::initialize()` to main functions that use glog.
This change reduces the number of messages "WARNING: Logging
before InitGoogleLogging() is written to STDERR".
Review: https://reviews.apache.org/r/62037/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/387ec70e
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/387ec70e
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/387ec70e
Branch: refs/heads/master
Commit: 387ec70e2514a4b9eb55593d04046a034c532dc2
Parents: a16e1d6
Author: Armand Grillet <ag...@mesosphere.io>
Authored: Mon Sep 18 20:51:39 2017 +0200
Committer: Alexander Rukletsov <al...@apache.org>
Committed: Mon Sep 18 23:21:47 2017 +0200
----------------------------------------------------------------------
src/checks/tcp_connect.cpp | 27 +++---
src/cli/execute.cpp | 98 +++++++++-----------
src/cli/resolve.cpp | 12 +--
src/examples/balloon_framework.cpp | 24 +++--
src/examples/disk_full_framework.cpp | 19 +++-
src/examples/dynamic_reservation_framework.cpp | 34 +++++--
src/examples/long_lived_framework.cpp | 13 ++-
src/examples/no_executor_framework.cpp | 38 +++++---
src/examples/test_framework.cpp | 19 ++--
src/examples/test_http_framework.cpp | 22 +++--
src/launcher/fetcher.cpp | 10 +-
src/slave/container_loggers/logrotate.cpp | 12 ++-
.../containerizer/mesos/io/switchboard_main.cpp | 13 ++-
src/tests/main.cpp | 46 ++++-----
src/usage/main.cpp | 2 +-
15 files changed, 240 insertions(+), 149 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/checks/tcp_connect.cpp
----------------------------------------------------------------------
diff --git a/src/checks/tcp_connect.cpp b/src/checks/tcp_connect.cpp
index 3cb9077..2514f4a 100644
--- a/src/checks/tcp_connect.cpp
+++ b/src/checks/tcp_connect.cpp
@@ -116,30 +116,25 @@ int testTCPConnect(const string& ip, int port)
int main(int argc, char *argv[])
{
-#ifdef __WINDOWS__
- if (!net::wsa_initialize()) {
- EXIT(EXIT_FAILURE) << "WSA failed to initialize";
- }
-#endif // __WINDOWS__
-
Flags flags;
Try<flags::Warnings> load = flags.load(None(), argc, argv);
+ if (flags.help) {
+ cout << flags.usage() << endl;
+ return EXIT_SUCCESS;
+ }
+
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
return EXIT_FAILURE;
}
+ // Log any flag warnings.
foreach (const flags::Warning& warning, load->warnings) {
cerr << warning.message << endl;
}
- if (flags.help) {
- cout << flags.usage() << endl;
- return EXIT_SUCCESS;
- }
-
if (flags.ip.isNone()) {
cerr << flags.usage("Missing required option --ip") << endl;
return EXIT_FAILURE;
@@ -150,11 +145,19 @@ int main(int argc, char *argv[])
return EXIT_FAILURE;
}
+#ifdef __WINDOWS__
+ if (!net::wsa_initialize()) {
+ cerr << "WSA failed to initialize" << endl;
+ return EXIT_FAILURE;
+ }
+#endif // __WINDOWS__
+
int result = testTCPConnect(flags.ip.get(), flags.port.get());
#ifdef __WINDOWS__
if (!net::wsa_cleanup()) {
- EXIT(EXIT_FAILURE) << "Failed to finalize the WSA socket stack";
+ cerr << "Failed to finalize the WSA socket stack" << endl;
+ return EXIT_FAILURE;
}
#endif // __WINDOWS__
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/cli/execute.cpp
----------------------------------------------------------------------
diff --git a/src/cli/execute.cpp b/src/cli/execute.cpp
index e844fa4..78b62a6 100644
--- a/src/cli/execute.cpp
+++ b/src/cli/execute.cpp
@@ -46,6 +46,8 @@
#include "internal/devolve.hpp"
+#include "logging/logging.hpp"
+
#include "v1/parse.hpp"
using std::cerr;
@@ -900,11 +902,6 @@ int main(int argc, char** argv)
// Load flags from command line only.
Try<flags::Warnings> load = flags.load(None(), argc, argv);
- if (load.isError()) {
- cerr << flags.usage(load.error()) << endl;
- return EXIT_FAILURE;
- }
-
// TODO(marco): this should be encapsulated entirely into the
// FlagsBase API - possibly with a 'guard' that prevents FlagsBase
// from calling ::exit(EXIT_FAILURE) after calling usage() (which
@@ -914,25 +911,29 @@ int main(int argc, char** argv)
return EXIT_SUCCESS;
}
+ if (load.isError()) {
+ cerr << flags.usage(load.error()) << endl;
+ return EXIT_FAILURE;
+ }
+
+ mesos::internal::logging::initialize(argv[0], false);
+
// Log any flag warnings.
foreach (const flags::Warning& warning, load->warnings) {
LOG(WARNING) << warning.message;
}
if (flags.task.isSome() && flags.task_group.isSome()) {
- cerr << flags.usage(
- "Either task or task group should be set but not both. Provide"
- " either '--task' OR '--task_group'") << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE) << flags.usage(
+ "Either task or task group should be set but not both."
+ " Provide either '--task' OR '--task_group'");
} else if (flags.task.isNone() && flags.task_group.isNone()) {
if (flags.name.isNone()) {
- cerr << flags.usage("Missing required option --name") << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE) << flags.usage("Missing required option --name");
}
if (flags.shell && flags.command.isNone()) {
- cerr << flags.usage("Missing required option --command") << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE) << flags.usage("Missing required option --command");
}
} else {
// Either --task or --task_group is set.
@@ -942,18 +943,16 @@ int main(int argc, char** argv)
flags.appc_image.isSome() ||
flags.docker_image.isSome() ||
flags.volumes.isSome()) {
- cerr << flags.usage(
- "'--name, --command, --env, --appc_image, --docker_image,"
- " --volumes' can only be set when both '--task' and"
- " '--task_group' are not set") << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE) << flags.usage(
+ "'--name, --command, --env, --appc_image, --docker_image,"
+ " --volumes' can only be set when both '--task'"
+ " and '--task_group' are not set");
}
if (flags.task.isSome() && flags.networks.isSome()) {
- cerr << flags.usage(
- "'--networks' can only be set when"
- " '--task' is not set") << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE) << flags.usage(
+ "'--networks' can only be set when"
+ " '--task' is not set");
}
}
@@ -964,18 +963,16 @@ int main(int argc, char** argv)
flags.content_type == mesos::APPLICATION_PROTOBUF) {
contentType = mesos::ContentType::PROTOBUF;
} else {
- cerr << "Invalid content type '" << flags.content_type << "'" << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE) << "Invalid content type '" << flags.content_type << "'";
}
Result<string> user = os::user();
if (!user.isSome()) {
if (user.isError()) {
- cerr << "Failed to get username: " << user.error() << endl;
+ EXIT(EXIT_FAILURE) << "Failed to get username: " << user.error();
} else {
- cerr << "No username for uid " << ::getuid() << endl;
+ EXIT(EXIT_FAILURE) << "No username for uid " << ::getuid();
}
- return EXIT_FAILURE;
}
Option<hashmap<string, string>> environment = None();
@@ -991,8 +988,7 @@ int main(int argc, char** argv)
if (flags.package.isSome()) {
Try<Owned<HDFS>> hdfs = HDFS::create(flags.hadoop);
if (hdfs.isError()) {
- cerr << "Failed to create HDFS client: " << hdfs.error() << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE) << "Failed to create HDFS client: " << hdfs.error();
}
// TODO(benh): If HDFS is not properly configured with
@@ -1010,30 +1006,29 @@ int main(int argc, char** argv)
exists.await();
if (!exists.isReady()) {
- cerr << "Failed to check if file exists: "
- << (exists.isFailed() ? exists.failure() : "discarded") << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE)
+ << "Failed to check if file exists: "
+ << (exists.isFailed() ? exists.failure() : "discarded");
} else if (exists.get() && flags.overwrite) {
Future<Nothing> rm = hdfs.get()->rm(path);
rm.await();
if (!rm.isReady()) {
- cerr << "Failed to remove existing file: "
- << (rm.isFailed() ? rm.failure() : "discarded") << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE)
+ << "Failed to remove existing file: "
+ << (rm.isFailed() ? rm.failure() : "discarded");
}
} else if (exists.get()) {
- cerr << "File already exists (see --overwrite)" << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE) << "File already exists (see --overwrite)";
}
Future<Nothing> copy = hdfs.get()->copyFromLocal(flags.package.get(), path);
copy.await();
if (!copy.isReady()) {
- cerr << "Failed to copy package: "
- << (copy.isFailed() ? copy.failure() : "discarded") << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE)
+ << "Failed to copy package: "
+ << (copy.isFailed() ? copy.failure() : "discarded");
}
// Now save the URI.
@@ -1051,8 +1046,8 @@ int main(int argc, char** argv)
}
if (appcImage.isSome() && dockerImage.isSome()) {
- cerr << "Flags '--docker-image' and '--appc-image' are both set" << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE)
+ << "Flags '--docker-image' and '--appc-image' are both set";
}
// Always enable the RESERVATION_REFINEMENT and TASK_KILLING_STATE
@@ -1073,17 +1068,15 @@ int main(int argc, char** argv)
FrameworkInfo::Capability::Type type;
if (!FrameworkInfo::Capability::Type_Parse(capability, &type)) {
- cerr << "Flags '--framework_capabilities'"
- " specifies an unknown capability"
- " '" << capability << "'" << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE)
+ << "Flags '--framework_capabilities' specifies an unknown"
+ << " capability '" << capability << "'";
}
if (type != FrameworkInfo::Capability::GPU_RESOURCES) {
- cerr << "Flags '--framework_capabilities'"
- " specifies an unsupported capability"
- " '" << capability << "'" << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE)
+ << "Flags '--framework_capabilities' specifies an unsupported"
+ << " capability '" << capability << "'";
}
frameworkCapabilities.push_back(type);
@@ -1097,9 +1090,8 @@ int main(int argc, char** argv)
::protobuf::parse<RepeatedPtrField<Volume>>(flags.volumes.get());
if (parse.isError()) {
- cerr << "Failed to convert '--volumes' to protobuf: "
- << parse.error() << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE)
+ << "Failed to convert '--volumes' to protobuf: " << parse.error();
}
vector<Volume> _volumes;
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/cli/resolve.cpp
----------------------------------------------------------------------
diff --git a/src/cli/resolve.cpp b/src/cli/resolve.cpp
index b3cba87..fe62f9f 100644
--- a/src/cli/resolve.cpp
+++ b/src/cli/resolve.cpp
@@ -70,19 +70,19 @@ int main(int argc, char** argv)
// them from argv.
Try<flags::Warnings> load = flags.load(None(), &argc, &argv);
- if (load.isError()) {
- cerr << flags.usage(load.error()) << endl;
- return EXIT_FAILURE;
- }
-
if (flags.help) {
cout << flags.usage() << endl;
return EXIT_SUCCESS;
}
+ if (load.isError()) {
+ cerr << flags.usage(load.error()) << endl;
+ return EXIT_FAILURE;
+ }
+
// Log any flag warnings.
foreach (const flags::Warning& warning, load->warnings) {
- LOG(WARNING) << warning.message;
+ cerr << warning.message << endl;
}
// 'master' argument must be the only argument left after parsing.
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/examples/balloon_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/balloon_framework.cpp b/src/examples/balloon_framework.cpp
index a63dbab..0136344 100644
--- a/src/examples/balloon_framework.cpp
+++ b/src/examples/balloon_framework.cpp
@@ -14,8 +14,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include <glog/logging.h>
-
#include <iostream>
#include <string>
#include <vector>
@@ -45,6 +43,8 @@
#include "common/parse.hpp"
+#include "logging/logging.hpp"
+
using namespace mesos;
using namespace mesos::internal;
@@ -488,8 +488,21 @@ int main(int argc, char** argv)
Flags flags;
Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);
+ if (flags.help) {
+ std::cout << flags.usage() << std::endl;
+ return EXIT_SUCCESS;
+ }
+
if (load.isError()) {
- EXIT(EXIT_FAILURE) << flags.usage(load.error());
+ std::cerr << flags.usage(load.error()) << std::endl;
+ return EXIT_FAILURE;
+ }
+
+ logging::initialize(argv[0], false);
+
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
}
const Resources resources = Resources::parse(
@@ -559,11 +572,6 @@ int main(int argc, char** argv)
BalloonScheduler scheduler(framework, executor, flags);
- // Log any flag warnings (after logging is initialized by the scheduler).
- foreach (const flags::Warning& warning, load->warnings) {
- LOG(WARNING) << warning.message;
- }
-
MesosSchedulerDriver* driver;
// TODO(josephw): Refactor these into a common set of flags.
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/examples/disk_full_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/disk_full_framework.cpp b/src/examples/disk_full_framework.cpp
index 2572c72..28f71c3 100644
--- a/src/examples/disk_full_framework.cpp
+++ b/src/examples/disk_full_framework.cpp
@@ -14,8 +14,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include <glog/logging.h>
-
#include <string>
#include <vector>
@@ -40,6 +38,8 @@
#include <stout/os.hpp>
#include <stout/try.hpp>
+#include "logging/logging.hpp"
+
using namespace mesos;
using std::string;
@@ -444,8 +444,21 @@ int main(int argc, char** argv)
Flags flags;
Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);
+ if (flags.help) {
+ std::cout << flags.usage() << std::endl;
+ return EXIT_SUCCESS;
+ }
+
if (load.isError()) {
- EXIT(EXIT_FAILURE) << flags.usage(load.error());
+ std::cerr << flags.usage(load.error()) << std::endl;
+ return EXIT_FAILURE;
+ }
+
+ internal::logging::initialize(argv[0], false);
+
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
}
FrameworkInfo framework;
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/examples/dynamic_reservation_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/dynamic_reservation_framework.cpp b/src/examples/dynamic_reservation_framework.cpp
index bb6f58b..5935f2c 100644
--- a/src/examples/dynamic_reservation_framework.cpp
+++ b/src/examples/dynamic_reservation_framework.cpp
@@ -17,8 +17,6 @@
#include <string>
#include <vector>
-#include <glog/logging.h>
-
#include <mesos/resources.hpp>
#include <mesos/scheduler.hpp>
#include <mesos/type_utils.hpp>
@@ -34,8 +32,13 @@
#include <stout/stringify.hpp>
#include <stout/try.hpp>
+#include "logging/logging.hpp"
+
using namespace mesos;
+using std::cerr;
+using std::cout;
+using std::endl;
using std::string;
using std::vector;
@@ -363,17 +366,32 @@ int main(int argc, char** argv)
Flags flags;
Try<flags::Warnings> load = flags.load(None(), argc, argv);
+
+ if (flags.help) {
+ cout << flags.usage() << endl;
+ return EXIT_SUCCESS;
+ }
+
if (load.isError()) {
- EXIT(EXIT_FAILURE) << flags.usage(load.error());
- } else if (flags.master.isNone()) {
- EXIT(EXIT_FAILURE) << flags.usage("Missing --master");
+ cerr << flags.usage(load.error()) << endl;
+ return EXIT_FAILURE;
+ }
+
+ if (flags.master.isNone()) {
+ cerr << flags.usage("Missing --master") << endl;
+ return EXIT_FAILURE;
} else if (flags.role.isNone()) {
- EXIT(EXIT_FAILURE) << flags.usage("Missing --role");
+ cerr << flags.usage("Missing --role") << endl;
+ return EXIT_FAILURE;
} else if (flags.role.get() == "*") {
- EXIT(EXIT_FAILURE)
- << flags.usage("Role is incorrect; the default '*' role cannot be used");
+ cerr << flags.usage(
+ "Role is incorrect; the default '*' role cannot be used")
+ << endl;
+ return EXIT_FAILURE;
}
+ internal::logging::initialize(argv[0], false);
+
// Log any flag warnings.
foreach (const flags::Warning& warning, load->warnings) {
LOG(WARNING) << warning.message;
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/examples/long_lived_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/long_lived_framework.cpp b/src/examples/long_lived_framework.cpp
index da63204..4304972 100644
--- a/src/examples/long_lived_framework.cpp
+++ b/src/examples/long_lived_framework.cpp
@@ -47,6 +47,8 @@
#include "common/parse.hpp"
+#include "logging/logging.hpp"
+
using std::queue;
using std::string;
using std::vector;
@@ -573,12 +575,21 @@ public:
int main(int argc, char** argv)
{
Flags flags;
+
Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);
+ if (flags.help) {
+ std::cout << flags.usage() << std::endl;
+ return EXIT_SUCCESS;
+ }
+
if (load.isError()) {
- EXIT(EXIT_FAILURE) << flags.usage(load.error());
+ std::cerr << flags.usage(load.error()) << std::endl;
+ return EXIT_FAILURE;
}
+ mesos::internal::logging::initialize(argv[0], false);
+
// Log any flag warnings.
foreach (const flags::Warning& warning, load->warnings) {
LOG(WARNING) << warning.message;
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/examples/no_executor_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/no_executor_framework.cpp b/src/examples/no_executor_framework.cpp
index 84fbf92..3aa401b 100644
--- a/src/examples/no_executor_framework.cpp
+++ b/src/examples/no_executor_framework.cpp
@@ -38,6 +38,9 @@
using namespace mesos;
using namespace mesos::internal;
+using std::cerr;
+using std::cout;
+using std::endl;
using std::string;
using std::vector;
@@ -292,27 +295,34 @@ int main(int argc, char** argv)
Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);
- if (load.isError()) {
- EXIT(EXIT_FAILURE) << flags.usage(load.error());
- }
-
- // Log any flag warnings.
- foreach (const flags::Warning& warning, load->warnings) {
- LOG(WARNING) << warning.message;
+ if (flags.help) {
+ cout << flags.usage() << endl;
+ return EXIT_SUCCESS;
}
- if (flags.help) {
- EXIT(EXIT_SUCCESS) << flags.usage();
+ if (load.isError()) {
+ cerr << flags.usage(load.error()) << endl;
+ return EXIT_FAILURE;
}
if (flags.master.isNone()) {
- EXIT(EXIT_FAILURE) << flags.usage("Missing required option --master");
+ cerr << flags.usage("Missing required option --master") << endl;
+ return EXIT_FAILURE;
}
if (flags.principal.isSome() != flags.secret.isSome()) {
- EXIT(EXIT_FAILURE) << flags.usage(
- "Both --principal and --secret are required"
- " to enable authentication");
+ cerr << flags.usage(
+ "Both --principal and --secret are required"
+ " to enable authentication")
+ << endl;
+ return EXIT_FAILURE;
+ }
+
+ logging::initialize(argv[0], true, flags); // Catch signals.
+
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
}
FrameworkInfo framework;
@@ -357,8 +367,6 @@ int main(int argc, char** argv)
taskResources.allocate(framework.role());
- logging::initialize(argv[0], true, flags); // Catch signals.
-
NoExecutorScheduler scheduler(
framework,
flags.command,
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/examples/test_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/test_framework.cpp b/src/examples/test_framework.cpp
index 8356d22..c6a293e 100644
--- a/src/examples/test_framework.cpp
+++ b/src/examples/test_framework.cpp
@@ -239,14 +239,19 @@ int main(int argc, char** argv)
Try<flags::Warnings> load = flags.load(None(), argc, argv);
+ if (flags.help) {
+ cout << flags.usage() << endl;
+ return EXIT_SUCCESS;
+ }
+
if (load.isError()) {
- cerr << load.error() << endl;
- usage(argv[0], flags);
- exit(EXIT_FAILURE);
- } else if (flags.master.isNone()) {
- cerr << "Missing --master" << endl;
- usage(argv[0], flags);
- exit(EXIT_FAILURE);
+ cerr << flags.usage(load.error()) << endl;
+ return EXIT_FAILURE;
+ }
+
+ if (flags.master.isNone()) {
+ cerr << flags.usage("Missing --master") << endl;
+ return EXIT_FAILURE;
}
internal::logging::initialize(argv[0], true, flags); // Catch signals.
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/examples/test_http_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/test_http_framework.cpp b/src/examples/test_http_framework.cpp
index 5665b4d..e640800 100644
--- a/src/examples/test_http_framework.cpp
+++ b/src/examples/test_http_framework.cpp
@@ -417,20 +417,24 @@ int main(int argc, char** argv)
Try<flags::Warnings> load = flags.load(None(), argc, argv);
+ if (flags.help) {
+ cout << flags.usage() << endl;
+ return EXIT_SUCCESS;
+ }
+
if (load.isError()) {
- cerr << load.error() << endl;
- usage(argv[0], flags);
- EXIT(EXIT_FAILURE);
- } else if (flags.master.isNone()) {
- cerr << "Missing --master" << endl;
- usage(argv[0], flags);
- EXIT(EXIT_FAILURE);
+ cerr << flags.usage(load.error()) << endl;
+ return EXIT_FAILURE;
+ }
+
+ if (flags.master.isNone()) {
+ cerr << flags.usage("Missing --master") << endl;
+ return EXIT_FAILURE;
}
- process::initialize();
mesos::internal::logging::initialize(argv[0], true, flags); // Catch signals.
- // Log any flag warnings (after logging is initialized).
+ // Log any flag warnings.
foreach (const flags::Warning& warning, load->warnings) {
LOG(WARNING) << warning.message;
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/launcher/fetcher.cpp
----------------------------------------------------------------------
diff --git a/src/launcher/fetcher.cpp b/src/launcher/fetcher.cpp
index ff24ecb..27b2913 100644
--- a/src/launcher/fetcher.cpp
+++ b/src/launcher/fetcher.cpp
@@ -517,7 +517,15 @@ int main(int argc, char* argv[])
Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);
- CHECK_SOME(load) << "Could not load flags: " << load.error();
+ if (flags.help) {
+ std::cout << flags.usage() << std::endl;
+ return EXIT_SUCCESS;
+ }
+
+ if (load.isError()) {
+ std::cerr << flags.usage(load.error()) << std::endl;
+ return EXIT_FAILURE;
+ }
logging::initialize(argv[0], true, flags); // Catch signals.
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/slave/container_loggers/logrotate.cpp
----------------------------------------------------------------------
diff --git a/src/slave/container_loggers/logrotate.cpp b/src/slave/container_loggers/logrotate.cpp
index 61484b1..bd41912 100644
--- a/src/slave/container_loggers/logrotate.cpp
+++ b/src/slave/container_loggers/logrotate.cpp
@@ -40,6 +40,8 @@
#include <stout/os/su.hpp>
#include <stout/os/write.hpp>
+#include "logging/logging.hpp"
+
#include "slave/container_loggers/logrotate.hpp"
@@ -226,10 +228,18 @@ int main(int argc, char** argv)
// Load and validate flags from the environment and command line.
Try<flags::Warnings> load = flags.load(None(), &argc, &argv);
+ if (flags.help) {
+ std::cout << flags.usage() << std::endl;
+ return EXIT_SUCCESS;
+ }
+
if (load.isError()) {
- EXIT(EXIT_FAILURE) << flags.usage(load.error());
+ std::cerr << flags.usage(load.error()) << std::endl;
+ return EXIT_FAILURE;
}
+ mesos::internal::logging::initialize(argv[0], false);
+
// Log any flag warnings.
foreach (const flags::Warning& warning, load->warnings) {
LOG(WARNING) << warning.message;
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/slave/containerizer/mesos/io/switchboard_main.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/io/switchboard_main.cpp b/src/slave/containerizer/mesos/io/switchboard_main.cpp
index fa0b296..0ff58e1 100644
--- a/src/slave/containerizer/mesos/io/switchboard_main.cpp
+++ b/src/slave/containerizer/mesos/io/switchboard_main.cpp
@@ -24,6 +24,8 @@
#include <stout/os.hpp>
#include <stout/try.hpp>
+#include "logging/logging.hpp"
+
#include "slave/containerizer/mesos/io/switchboard.hpp"
namespace io = process::io;
@@ -63,10 +65,19 @@ int main(int argc, char** argv)
// Load and validate flags from the environment and command line.
Try<flags::Warnings> load = flags.load(None(), &argc, &argv);
+
+ if (flags.help) {
+ std::cout << flags.usage() << std::endl;
+ return EXIT_SUCCESS;
+ }
+
if (load.isError()) {
- EXIT(EXIT_FAILURE) << flags.usage(load.error());
+ std::cerr << flags.usage(load.error()) << std::endl;
+ return EXIT_FAILURE;
}
+ mesos::internal::logging::initialize(argv[0], false);
+
// Verify non-optional flags have valid values.
if (flags.stdin_to_fd.isNone()) {
EXIT(EXIT_FAILURE) << flags.usage("'--stdin_to_fd' is missing");
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/tests/main.cpp
----------------------------------------------------------------------
diff --git a/src/tests/main.cpp b/src/tests/main.cpp
index 6911b64..cd30cac 100644
--- a/src/tests/main.cpp
+++ b/src/tests/main.cpp
@@ -67,7 +67,8 @@ int main(int argc, char** argv)
{
#ifdef __WINDOWS__
if (!net::wsa_initialize()) {
- EXIT(EXIT_FAILURE) << "WSA failed to initialize";
+ cerr << "WSA failed to initialize" << endl;
+ return EXIT_FAILURE;
}
// When we're running a debug build, the Windows implementation of the C
@@ -81,21 +82,34 @@ int main(int argc, char** argv)
GOOGLE_PROTOBUF_VERIFY_VERSION;
- using mesos::internal::tests::flags; // Needed to disabmiguate.
+ using mesos::internal::tests::flags; // Needed to disambiguate.
// Load flags from environment and command line but allow unknown
// flags (since we might have gtest/gmock flags as well).
Try<flags::Warnings> load = flags.load("MESOS_", argc, argv, true);
+ if (flags.help) {
+ cout << flags.usage() << endl;
+ testing::InitGoogleTest(&argc, argv); // Get usage from gtest too.
+ return EXIT_SUCCESS;
+ }
+
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
return EXIT_FAILURE;
}
- if (flags.help) {
- cout << flags.usage() << endl;
- testing::InitGoogleTest(&argc, argv); // Get usage from gtest too.
- return EXIT_SUCCESS;
+ // Be quiet by default!
+ if (!flags.verbose) {
+ flags.quiet = true;
+ }
+
+ // Initialize logging.
+ logging::initialize(argv[0], true, flags);
+
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
}
// TODO(josephw): Modules are not supported on Windows (MESOS-5994).
@@ -116,8 +130,7 @@ int main(int argc, char** argv)
Try<Nothing> result = tests::initModules(flags.modules);
if (result.isError()) {
- cerr << "Error initializing modules: " << result.error() << endl;
- return EXIT_FAILURE;
+ EXIT(EXIT_FAILURE) << "Error initializing modules: " << result.error();
}
#endif // __WINDOWS__
@@ -136,25 +149,12 @@ int main(int argc, char** argv)
<< "`main()` was not the function's first invocation";
}
- // Be quiet by default!
- if (!flags.verbose) {
- flags.quiet = true;
- }
-
- // Initialize logging.
- logging::initialize(argv[0], true, flags);
-
- // Log any flag warnings (after logging is initialized).
- foreach (const flags::Warning& warning, load->warnings) {
- LOG(WARNING) << warning.message;
- }
-
// Initialize gmock/gtest.
testing::InitGoogleTest(&argc, argv);
testing::FLAGS_gtest_death_test_style = "threadsafe";
- cout << "Source directory: " << flags.source_dir << endl;
- cout << "Build directory: " << flags.build_dir << endl;
+ LOG(INFO) << "Source directory: " << flags.source_dir;
+ LOG(INFO) << "Build directory: " << flags.build_dir;
// Instantiate our environment. Note that it will be managed by
// gtest after we add it via testing::AddGlobalTestEnvironment.
http://git-wip-us.apache.org/repos/asf/mesos/blob/387ec70e/src/usage/main.cpp
----------------------------------------------------------------------
diff --git a/src/usage/main.cpp b/src/usage/main.cpp
index 5ad4a3b..64139f4 100644
--- a/src/usage/main.cpp
+++ b/src/usage/main.cpp
@@ -80,7 +80,7 @@ int main(int argc, char** argv)
// Log any flag warnings.
foreach (const flags::Warning& warning, load->warnings) {
- LOG(WARNING) << warning.message;
+ cerr << warning.message << endl;
}
if (flags.pid.isNone()) {