aos: add dynamic logging on an opt-in basis

Applications including this can have vlog changed with:

aos_send /aos aos.logging.DynamicLogCommand '{"name": "app", "vlog_level": 1}'

Change-Id: Id387cdb501ad84ed3e266a2077ea93478b480afa
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
diff --git a/aos/logging/BUILD b/aos/logging/BUILD
index 10d41a3..fe8db3a 100644
--- a/aos/logging/BUILD
+++ b/aos/logging/BUILD
@@ -102,3 +102,38 @@
     target = ":log_message_fbs_reflection_out",
     visibility = ["//visibility:public"],
 )
+
+flatbuffer_cc_library(
+    name = "dynamic_log_command_fbs",
+    srcs = [
+        "dynamic_log_command.fbs",
+    ],
+    gen_reflections = 1,
+    visibility = ["//visibility:public"],
+)
+
+cc_library(
+    name = "dynamic_logging",
+    srcs = ["dynamic_logging.cc"],
+    hdrs = ["dynamic_logging.h"],
+    visibility = ["//visibility:public"],
+    deps = [
+        ":dynamic_log_command_fbs",
+        "//aos/events:shm_event_loop",
+        "@com_github_google_glog//:glog",
+    ],
+)
+
+cc_test(
+    name = "dynamic_logging_test",
+    srcs = ["dynamic_logging_test.cc"],
+    data = [
+        "//aos/events:pingpong_config",
+    ],
+    deps = [
+        ":dynamic_logging",
+        "//aos/events:simulated_event_loop",
+        "//aos/testing:googletest",
+        "//aos/testing:path",
+    ],
+)