got logging structs working (theoretically) and used it
diff --git a/aos/common/logging/queue_logging-tmpl.h b/aos/common/logging/queue_logging-tmpl.h
new file mode 100644
index 0000000..e0a89e4
--- /dev/null
+++ b/aos/common/logging/queue_logging-tmpl.h
@@ -0,0 +1,19 @@
+#include "aos/common/logging/logging_impl.h"
+
+#include <functional>
+
+namespace aos {
+namespace logging {
+
+template <class T>
+void DoLogStruct(log_level level, const ::std::string &message,
+ const T &structure) {
+ LogImplementation::DoLogStruct(level, message, T::Size(), T::GetType(),
+ [&structure](char * buffer)->size_t{
+ return structure.Serialize(buffer);
+ },
+ 1);
+}
+
+} // namespace logging
+} // namespace aos