blob: d312925559c3d6b912e2b7f122d1f3b0a3078b53 [file] [log] [blame]
Tyler Chatow67ddb032020-01-12 14:30:04 -08001#include "aos/events/aos_logging.h"
2
3namespace aos {
4
5void AosLogToFbs::Initialize(Sender<logging::LogMessageFbs> log_sender) {
6 log_sender_ = std::move(log_sender);
7 if (log_sender_) {
8 logging::RegisterCallbackImplementation(
9 [this](const logging::LogMessage &message_data) {
10 aos::Sender<logging::LogMessageFbs>::Builder message =
11 log_sender_.MakeBuilder();
12 auto message_str = message.fbb()->CreateString(
13 message_data.message, message_data.message_length);
14 auto name_str = message.fbb()->CreateString(message_data.name,
15 message_data.name_length);
16
17 ::aos::logging::LogMessageFbs::Builder builder =
18 message.MakeBuilder<::aos::logging::LogMessageFbs>();
19 builder.add_message(message_str);
20 builder.add_level(
21 static_cast<::aos::logging::Level>(message_data.level));
Het Satasiya30b45aa2020-09-12 16:45:46 -070022 builder.add_source_pid(message_data.source);
Tyler Chatow67ddb032020-01-12 14:30:04 -080023 builder.add_name(name_str);
24
25 message.Send(builder.Finish());
26 },
27 false);
28 }
29}
30
31} // namespace aos