diff --git a/MAC/APL/PAC/ITRFBeamServer/src/beamctl.cc b/MAC/APL/PAC/ITRFBeamServer/src/beamctl.cc
index e75394fa83ada2c332b8cd343285bb22eeed81f0..a7bf63d47cdbd36e0807bbac96ab47f5b1cb7a7d 100644
--- a/MAC/APL/PAC/ITRFBeamServer/src/beamctl.cc
+++ b/MAC/APL/PAC/ITRFBeamServer/src/beamctl.cc
@@ -44,6 +44,8 @@
 #include <getopt.h>
 #include <sys/types.h>
 #include <unistd.h>
+#include <vector>
+#include <string>
 
 #include "beamctl.h"
 
@@ -892,6 +894,12 @@ int main(int argc, char** argv)
 {
     GCFScheduler::instance()->init(argc, argv, "beamctl");
 
+    // Log command line to track usage
+    vector<string> args;
+    for (int i = 0; i < argc; i++)
+      args.push_back(argv[i]);
+    LOG_INFO_STR("Command line: " << args);
+
     ASSERTSTR(BEAMLET_RING_OFFSET > maxBeamlets(MIN_BITS_PER_SAMPLE),
                 formatString("(%d>%d) beamctl is not suitable for handling %d bit mode. Revise program.",
                 BEAMLET_RING_OFFSET, maxBeamlets(MIN_BITS_PER_SAMPLE), MIN_BITS_PER_SAMPLE));
diff --git a/MAC/APL/PIC/RSP_Driver/src/rspctl_main.cc b/MAC/APL/PIC/RSP_Driver/src/rspctl_main.cc
index 41e65563d51411f2de500b043977a7ed4372de84..905c9b87ca913762e0ad9bc24b70eb5dfc068d5d 100644
--- a/MAC/APL/PIC/RSP_Driver/src/rspctl_main.cc
+++ b/MAC/APL/PIC/RSP_Driver/src/rspctl_main.cc
@@ -7,14 +7,24 @@
 
 #include "rspctl.h"
 
+#include <vector>
+#include <string>
+
 using namespace LOFAR;
 using namespace LOFAR::rspctl;
 using namespace LOFAR::GCF::TM;
+using namespace std;
 
 int main(int argc, char** argv)
 {
 	GCFScheduler::instance()->init(argc, argv, "rspctl");
 
+  // Log command line to track usage
+  vector<string> args;
+  for (int i = 0; i < argc; i++)
+    args.push_back(argv[i]);
+  LOG_INFO_STR("Command line: " << args);
+
 	LOG_INFO(formatString("Program %s has started", argv[0]));
 
 	RSPCtl c("RSPCtl", argc, argv);
diff --git a/MAC/APL/PIC/TBB_Driver/src/tbbctl.cc b/MAC/APL/PIC/TBB_Driver/src/tbbctl.cc
index 687634f5cd6e29e90eabe98eb69fcdfa21e1759e..bf23f9a385559d987d548277cca6c03d2c894420 100644
--- a/MAC/APL/PIC/TBB_Driver/src/tbbctl.cc
+++ b/MAC/APL/PIC/TBB_Driver/src/tbbctl.cc
@@ -48,6 +48,8 @@
 #include <net/ethernet.h>
 #include <cstdio>
 #include <signal.h>
+#include <vector>
+#include <string>
 
 #include "tbbctl.h"
 
@@ -4369,6 +4371,12 @@ int main(int argc, char** argv)
 {
     GCFScheduler::instance()->init(argc, argv, "tbbctl");
 
+    // Log command line to track usage
+    vector<string> args;
+    for (int i = 0; i < argc; i++)
+      args.push_back(argv[i]);
+    LOG_INFO_STR("Command line: " << args);
+
     LOG_DEBUG(formatString("Program %s has started", argv[0]));
 
     TBBCtl tbbctl("tbbctl", argc, argv);
diff --git a/MAC/APL/StationCU/src/ClockControl/clkctl.cc b/MAC/APL/StationCU/src/ClockControl/clkctl.cc
index 78dc253db80a59fe41a412d6b52332b7641af4dc..b4fd0af89f261732ffbba5f9f2a8173d5b08d5fb 100644
--- a/MAC/APL/StationCU/src/ClockControl/clkctl.cc
+++ b/MAC/APL/StationCU/src/ClockControl/clkctl.cc
@@ -30,6 +30,9 @@
 
 #include "clkctl.h"
 
+#include <string>
+#include <vector>
+
 namespace LOFAR {
 	using namespace Clock_Protocol;
 	using namespace LOFAR::GCF::TM;
@@ -200,6 +203,7 @@ void ClkCtl::doHelp()
 
 using namespace LOFAR;
 using namespace LOFAR::GCF::TM;
+using namespace std;
 
 // Use a terminate handler that can produce a backtrace.
 Exception::TerminateHandler t(Exception::terminate);
@@ -213,6 +217,12 @@ int main(int argc, char* argv[])
 	// args: cntlrname, parentHost, parentService
 	GCFScheduler::instance()->init(argc, argv, "clkctl");
 
+  // Log command line to track usage
+  vector<string> args;
+  for (int i = 0; i < argc; i++)
+    args.push_back(argv[i]);
+  LOG_INFO_STR("Command line: " << args);
+
 	ClkCtl		cc(argv[1]);
 	cc.start(); 	// make initial transition