aboutsummaryrefslogtreecommitdiffstats
path: root/logforwarder/src/apps/vespa-logforwarder-start/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'logforwarder/src/apps/vespa-logforwarder-start/main.cpp')
-rw-r--r--logforwarder/src/apps/vespa-logforwarder-start/main.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/logforwarder/src/apps/vespa-logforwarder-start/main.cpp b/logforwarder/src/apps/vespa-logforwarder-start/main.cpp
new file mode 100644
index 00000000000..e06d3dd6d8d
--- /dev/null
+++ b/logforwarder/src/apps/vespa-logforwarder-start/main.cpp
@@ -0,0 +1,38 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#include <csignal>
+#include <unistd.h>
+
+#include <vespa/log/log.h>
+LOG_SETUP("vespa-logforwarder-start");
+
+#include "cf-handler.h"
+#include "sig-catch.h"
+
+class Wrapper {
+ const char *_configId;
+public:
+ Wrapper(const char *cfid) : _configId(cfid) {}
+ void run() {
+ SigCatch catcher;
+ CfHandler handler;
+ handler.start(_configId);
+ while (! catcher.receivedStopSignal()) {
+ handler.check();
+ usleep(12500); // Avoid busy looping;
+ }
+ }
+};
+
+int
+main(int argc, char** argv)
+{
+ int c = getopt(argc, argv, "c:");
+ if (c != 'c') {
+ LOG(error, "Usage: %s -c <config-id>", argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ Wrapper wrapper(optarg);
+ wrapper.run();
+ return 0;
+}