Tyler Chatow | 67ddb03 | 2020-01-12 14:30:04 -0800 | [diff] [blame] | 1 | #include "aos/events/aos_logging.h" |
| 2 | |
| 3 | namespace aos { |
| 4 | |
Austin Schuh | ad9e5eb | 2021-11-19 20:33:55 -0800 | [diff] [blame] | 5 | void AosLogToFbs::Initialize(const std::string *name, |
| 6 | Sender<logging::LogMessageFbs> log_sender) { |
Tyler Chatow | 67ddb03 | 2020-01-12 14:30:04 -0800 | [diff] [blame] | 7 | log_sender_ = std::move(log_sender); |
| 8 | if (log_sender_) { |
Austin Schuh | a0c41ba | 2020-09-10 22:59:14 -0700 | [diff] [blame] | 9 | implementation_ = std::make_shared<logging::CallbackLogImplementation>( |
Tyler Chatow | 67ddb03 | 2020-01-12 14:30:04 -0800 | [diff] [blame] | 10 | [this](const logging::LogMessage &message_data) { |
| 11 | aos::Sender<logging::LogMessageFbs>::Builder message = |
| 12 | log_sender_.MakeBuilder(); |
| 13 | auto message_str = message.fbb()->CreateString( |
| 14 | message_data.message, message_data.message_length); |
| 15 | auto name_str = message.fbb()->CreateString(message_data.name, |
| 16 | message_data.name_length); |
| 17 | |
| 18 | ::aos::logging::LogMessageFbs::Builder builder = |
| 19 | message.MakeBuilder<::aos::logging::LogMessageFbs>(); |
| 20 | builder.add_message(message_str); |
| 21 | builder.add_level( |
| 22 | static_cast<::aos::logging::Level>(message_data.level)); |
Het Satasiya | 30b45aa | 2020-09-12 16:45:46 -0700 | [diff] [blame] | 23 | builder.add_source_pid(message_data.source); |
Tyler Chatow | 67ddb03 | 2020-01-12 14:30:04 -0800 | [diff] [blame] | 24 | builder.add_name(name_str); |
milind | 1f1dca3 | 2021-07-03 13:50:07 -0700 | [diff] [blame] | 25 | if (send_failure_counter_.failures() > 0) { |
| 26 | builder.add_send_failures(send_failure_counter_.failures()); |
| 27 | } |
Tyler Chatow | 67ddb03 | 2020-01-12 14:30:04 -0800 | [diff] [blame] | 28 | |
milind | 1f1dca3 | 2021-07-03 13:50:07 -0700 | [diff] [blame] | 29 | send_failure_counter_.Count(message.Send(builder.Finish())); |
Austin Schuh | ad9e5eb | 2021-11-19 20:33:55 -0800 | [diff] [blame] | 30 | }, |
| 31 | name); |
Tyler Chatow | 67ddb03 | 2020-01-12 14:30:04 -0800 | [diff] [blame] | 32 | } |
| 33 | } |
| 34 | |
| 35 | } // namespace aos |