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",
+ ],
+)