Add extra flags to drivetrain replay.

Change-Id: I07eb29c53c013a20734c40ce0c8fdfbae923207a
diff --git a/y2020/control_loops/drivetrain/drivetrain_replay.cc b/y2020/control_loops/drivetrain/drivetrain_replay.cc
index f020307..1533316 100644
--- a/y2020/control_loops/drivetrain/drivetrain_replay.cc
+++ b/y2020/control_loops/drivetrain/drivetrain_replay.cc
@@ -20,6 +20,7 @@
 DEFINE_string(output_folder, "/tmp/replayed",
               "Name of the folder to write replayed logs to.");
 DEFINE_int32(team, 971, "Team number to use for logfile replay.");
+DEFINE_bool(log_all_nodes, false, "Whether to rerun the logger on every node.");
 
 class LoggerState {
  public:
@@ -32,8 +33,9 @@
             event_loop_->configuration(), node)),
         logger_(std::make_unique<aos::logger::Logger>(event_loop_.get())) {
     event_loop_->SkipTimingReport();
+    event_loop_->SkipAosLog();
     event_loop_->OnRun([this]() {
-      logger_->StartLogging(std::move(namer_), aos::UUID::Zero().string_view());
+      logger_->StartLogging(std::move(namer_));
     });
   }
 
@@ -72,15 +74,21 @@
                             "frc971.control_loops.drivetrain.Output");
   reader.Register();
 
-  // List of nodes to create loggers for (note: currently just roborio; this
-  // code was refactored to allow easily adding new loggers to accommodate
-  // debugging and potential future changes).
-  const std::vector<std::string> nodes_to_log = {"roborio"};
   std::vector<std::unique_ptr<LoggerState>> loggers;
-  for (const std::string& node : nodes_to_log) {
-    loggers.emplace_back(std::make_unique<LoggerState>(
-        &reader,
-        aos::configuration::GetNode(reader.configuration(), node)));
+  if (FLAGS_log_all_nodes) {
+    for (const aos::Node *node :
+         aos::configuration::GetNodes(reader.configuration())) {
+      loggers.emplace_back(std::make_unique<LoggerState>(&reader, node));
+    }
+  } else {
+    // List of nodes to create loggers for (note: currently just roborio; this
+    // code was refactored to allow easily adding new loggers to accommodate
+    // debugging and potential future changes).
+    const std::vector<std::string> nodes_to_log = {"roborio"};
+    for (const std::string &node : nodes_to_log) {
+      loggers.emplace_back(std::make_unique<LoggerState>(
+          &reader, aos::configuration::GetNode(reader.configuration(), node)));
+    }
   }
 
   const aos::Node *node = nullptr;