Tyler Chatow | 67ddb03 | 2020-01-12 14:30:04 -0800 | [diff] [blame] | 1 | #include "aos/events/aos_logging.h" |
| 2 | |
| 3 | namespace aos { |
| 4 | |
| 5 | void 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)); |
| 22 | builder.add_source(message_data.source); |
| 23 | builder.add_name(name_str); |
| 24 | |
| 25 | message.Send(builder.Finish()); |
| 26 | }, |
| 27 | false); |
| 28 | } |
| 29 | } |
| 30 | |
| 31 | } // namespace aos |