aos/network: opt in message_bridge to dynamic vlog

Change-Id: I54851467411aeb3adc44f51b13a450f94e64ca1c
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
diff --git a/aos/events/logging/logger_test.cc b/aos/events/logging/logger_test.cc
index 6d828c9..3b8d70b 100644
--- a/aos/events/logging/logger_test.cc
+++ b/aos/events/logging/logger_test.cc
@@ -3470,9 +3470,9 @@
 }
 
 constexpr std::string_view kCombinedConfigSha1(
-    "ad71114d104afea6cc400f3a968bb69e394681183fd42655d4efcdc8f4cd8911");
+    "158a244107a7dc637fc5934ac161cb9e6c26195930fd8f82bb351c3ad7cce349");
 constexpr std::string_view kSplitConfigSha1(
-    "cdd60ecc4423ef2450bf67bed059f2f28f0e8ff6819b94a2194d825a6b15fe91");
+    "c73aa7913a9e116ee0a793d8280fac170b7eeea8e7350f45c6ac5bfc4ab018e1");
 
 INSTANTIATE_TEST_SUITE_P(
     All, MultinodeLoggerTest,
diff --git a/aos/events/logging/multinode_pingpong_combined.json b/aos/events/logging/multinode_pingpong_combined.json
index 2ed0937..6686360 100644
--- a/aos/events/logging/multinode_pingpong_combined.json
+++ b/aos/events/logging/multinode_pingpong_combined.json
@@ -47,6 +47,18 @@
     },
     {
       "name": "/pi1/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "logger": "LOCAL_LOGGER",
+      "source_node": "pi1"
+    },
+    {
+      "name": "/pi2/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "logger": "LOCAL_LOGGER",
+      "source_node": "pi2"
+    },
+    {
+      "name": "/pi1/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "logger": "LOCAL_LOGGER",
       "source_node": "pi1"
diff --git a/aos/events/logging/multinode_pingpong_split.json b/aos/events/logging/multinode_pingpong_split.json
index aaaecd1..c696ec2 100644
--- a/aos/events/logging/multinode_pingpong_split.json
+++ b/aos/events/logging/multinode_pingpong_split.json
@@ -47,6 +47,18 @@
     },
     {
       "name": "/pi1/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "logger": "LOCAL_LOGGER",
+      "source_node": "pi1"
+    },
+    {
+      "name": "/pi2/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "logger": "LOCAL_LOGGER",
+      "source_node": "pi2"
+    },
+    {
+      "name": "/pi1/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "logger": "LOCAL_LOGGER",
       "source_node": "pi1"
diff --git a/aos/events/logging/multinode_pingpong_split3.json b/aos/events/logging/multinode_pingpong_split3.json
index 151bac3..4f3cfe3 100644
--- a/aos/events/logging/multinode_pingpong_split3.json
+++ b/aos/events/logging/multinode_pingpong_split3.json
@@ -69,6 +69,24 @@
     },
     {
       "name": "/pi1/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "logger": "LOCAL_LOGGER",
+      "source_node": "pi1"
+    },
+    {
+      "name": "/pi2/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "logger": "LOCAL_LOGGER",
+      "source_node": "pi2"
+    },
+    {
+      "name": "/pi3/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "logger": "LOCAL_LOGGER",
+      "source_node": "pi3"
+    },
+    {
+      "name": "/pi1/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "logger": "LOCAL_LOGGER",
       "source_node": "pi1"
diff --git a/aos/events/logging/multinode_pingpong_split4.json b/aos/events/logging/multinode_pingpong_split4.json
index eed4880..a94f255 100644
--- a/aos/events/logging/multinode_pingpong_split4.json
+++ b/aos/events/logging/multinode_pingpong_split4.json
@@ -47,6 +47,18 @@
     },
     {
       "name": "/pi1/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "logger": "LOCAL_LOGGER",
+      "source_node": "pi1"
+    },
+    {
+      "name": "/pi2/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "logger": "LOCAL_LOGGER",
+      "source_node": "pi2"
+    },
+    {
+      "name": "/pi1/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "logger": "LOCAL_LOGGER",
       "source_node": "pi1"
diff --git a/aos/events/multinode_pingpong_test_combined.json b/aos/events/multinode_pingpong_test_combined.json
index 38243f4..2d58dd0 100644
--- a/aos/events/multinode_pingpong_test_combined.json
+++ b/aos/events/multinode_pingpong_test_combined.json
@@ -98,6 +98,24 @@
     },
     {
       "name": "/pi1/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "pi1",
+      "frequency": 2
+    },
+    {
+      "name": "/pi2/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "pi2",
+      "frequency": 2
+    },
+    {
+      "name": "/pi3/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "pi3",
+      "frequency": 2
+    },
+    {
+      "name": "/pi1/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "source_node": "pi1",
       "frequency": 10
diff --git a/aos/events/multinode_pingpong_test_split.json b/aos/events/multinode_pingpong_test_split.json
index d93731a..b160c42 100644
--- a/aos/events/multinode_pingpong_test_split.json
+++ b/aos/events/multinode_pingpong_test_split.json
@@ -98,6 +98,24 @@
     },
     {
       "name": "/pi1/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "pi1",
+      "frequency": 2
+    },
+    {
+      "name": "/pi2/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "pi2",
+      "frequency": 2
+    },
+    {
+      "name": "/pi3/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "pi3",
+      "frequency": 2
+    },
+    {
+      "name": "/pi1/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "source_node": "pi1",
       "frequency": 10
diff --git a/aos/network/BUILD b/aos/network/BUILD
index 6143286..e28fd89 100644
--- a/aos/network/BUILD
+++ b/aos/network/BUILD
@@ -258,6 +258,7 @@
         "//aos:init",
         "//aos:json_to_flatbuffer",
         "//aos/events:shm_event_loop",
+        "//aos/logging:dynamic_logging",
     ],
 )
 
@@ -339,6 +340,7 @@
         "//aos:init",
         "//aos:json_to_flatbuffer",
         "//aos/events:shm_event_loop",
+        "//aos/logging:dynamic_logging",
     ],
 )
 
diff --git a/aos/network/message_bridge_client.cc b/aos/network/message_bridge_client.cc
index 301dfd9..503ce95 100644
--- a/aos/network/message_bridge_client.cc
+++ b/aos/network/message_bridge_client.cc
@@ -2,6 +2,7 @@
 
 #include "aos/events/shm_event_loop.h"
 #include "aos/init.h"
+#include "aos/logging/dynamic_logging.h"
 
 DEFINE_string(config, "aos_config.json", "Path to the config.");
 DEFINE_int32(rt_priority, -1, "If > 0, run as this RT priority");
@@ -20,6 +21,7 @@
 
   MessageBridgeClient app(&event_loop);
 
+  logging::DynamicLogging dynamic_logging(&event_loop);
   // TODO(austin): Save messages into a vector to be logged.  One file per
   // channel?  Need to sort out ordering.
   //
diff --git a/aos/network/message_bridge_server.cc b/aos/network/message_bridge_server.cc
index fc1425d..3b5d30b 100644
--- a/aos/network/message_bridge_server.cc
+++ b/aos/network/message_bridge_server.cc
@@ -1,5 +1,6 @@
 #include "aos/events/shm_event_loop.h"
 #include "aos/init.h"
+#include "aos/logging/dynamic_logging.h"
 #include "aos/network/message_bridge_server_lib.h"
 #include "gflags/gflags.h"
 #include "glog/logging.h"
@@ -21,6 +22,8 @@
 
   MessageBridgeServer app(&event_loop);
 
+  logging::DynamicLogging dynamic_logging(&event_loop);
+
   // TODO(austin): Track which messages didn't make it in time and need to be
   // logged locally and forwarded.
 
diff --git a/y2020/y2020_logger.json b/y2020/y2020_logger.json
index f070253..451a2ee 100644
--- a/y2020/y2020_logger.json
+++ b/y2020/y2020_logger.json
@@ -162,6 +162,13 @@
     },
     {
       "name": "/logger/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "logger",
+      "frequency": 10,
+      "num_senders": 2
+    },
+    {
+      "name": "/logger/aos",
       "type": "aos.starter.Status",
       "source_node": "logger",
       "frequency": 50,
diff --git a/y2020/y2020_pi_template.json b/y2020/y2020_pi_template.json
index 0f8d268..2b40728 100644
--- a/y2020/y2020_pi_template.json
+++ b/y2020/y2020_pi_template.json
@@ -69,6 +69,13 @@
     },
     {
       "name": "/pi{{ NUM }}/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "pi{{ NUM }}",
+      "frequency": 10,
+      "num_senders": 2
+    },
+    {
+      "name": "/pi{{ NUM }}/aos",
       "type": "aos.message_bridge.Timestamp",
       "source_node": "pi{{ NUM }}",
       "frequency": 15,
diff --git a/y2020/y2020_roborio.json b/y2020/y2020_roborio.json
index 086545e..da52f28 100644
--- a/y2020/y2020_roborio.json
+++ b/y2020/y2020_roborio.json
@@ -99,6 +99,13 @@
       "num_senders": 2
     },
     {
+      "name": "/roborio/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "roborio",
+      "frequency": 10,
+      "num_senders": 2
+    },
+    {
       "name": "/roborio/aos/remote_timestamps/logger/roborio/aos/aos-message_bridge-Timestamp",
       "type": "aos.message_bridge.RemoteMessage",
       "frequency": 200,
diff --git a/y2022/y2022_imu.json b/y2022/y2022_imu.json
index 0e61210..817f051 100644
--- a/y2022/y2022_imu.json
+++ b/y2022/y2022_imu.json
@@ -123,6 +123,13 @@
     },
     {
       "name": "/imu/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "imu",
+      "frequency": 10,
+      "num_senders": 2
+    },
+    {
+      "name": "/imu/aos",
       "type": "aos.message_bridge.Timestamp",
       "source_node": "imu",
       "frequency": 15,
diff --git a/y2022/y2022_logger.json b/y2022/y2022_logger.json
index 6c33eec..f37a4d6 100644
--- a/y2022/y2022_logger.json
+++ b/y2022/y2022_logger.json
@@ -204,6 +204,13 @@
     },
     {
       "name": "/logger/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "logger",
+      "frequency": 10,
+      "num_senders": 2
+    },
+    {
+      "name": "/logger/aos",
       "type": "aos.starter.Status",
       "source_node": "logger",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
diff --git a/y2022/y2022_pi_template.json b/y2022/y2022_pi_template.json
index a2c4b88..a6b3f4a 100644
--- a/y2022/y2022_pi_template.json
+++ b/y2022/y2022_pi_template.json
@@ -80,6 +80,13 @@
     },
     {
       "name": "/pi{{ NUM }}/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "pi{{ NUM }}",
+      "frequency": 10,
+      "num_senders": 2
+    },
+    {
+      "name": "/pi{{ NUM }}/aos",
       "type": "aos.message_bridge.Timestamp",
       "source_node": "pi{{ NUM }}",
       "frequency": 15,
diff --git a/y2022/y2022_roborio.json b/y2022/y2022_roborio.json
index 1a5a1aa..85247ee 100644
--- a/y2022/y2022_roborio.json
+++ b/y2022/y2022_roborio.json
@@ -151,6 +151,13 @@
       "num_senders": 2
     },
     {
+      "name": "/roborio/aos",
+      "type": "aos.logging.DynamicLogCommand",
+      "source_node": "roborio",
+      "frequency": 10,
+      "num_senders": 2
+    },
+    {
       "name": "/roborio/aos/remote_timestamps/logger/roborio/aos/aos-message_bridge-Timestamp",
       "type": "aos.message_bridge.RemoteMessage",
       "frequency": 200,