| // Copyright 2022 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // [START imports] |
| #include <lib/syslog/cpp/log_settings.h> |
| #include <lib/syslog/cpp/macros.h> |
| |
| #include <cstdlib> |
| #include <iostream> |
| // [END imports] |
| |
| #include "examples/components/echo/cpp/echo_component.h" |
| |
| // [START main] |
| int main(int argc, const char* argv[], char* envp[]) { |
| fuchsia_logging::LogSettingsBuilder builder; |
| builder.WithTags({"echo"}).BuildAndInitialize(); |
| // Read program arguments, and exclude the binary name in argv[0] |
| std::vector<std::string> arguments; |
| for (int i = 1; i < argc; i++) { |
| arguments.push_back(argv[i]); |
| } |
| |
| // Include environment variables |
| const char* favorite_animal = std::getenv("FAVORITE_ANIMAL"); |
| arguments.push_back(favorite_animal); |
| |
| // Print a greeting to syslog |
| FX_LOG_KV(INFO, "Hello", FX_KV("greeting", echo::greeting(arguments).c_str())); |
| |
| return 0; |
| } |
| // [END main] |