blob: 5802120ba88f90090b2266cfdfd456b2a2e38488 [file] [log] [blame]
// Copyright 2018 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.
#include <lib/async-loop/cpp/loop.h>
#include <lib/async-loop/default.h>
#include <lib/inspect/component/cpp/component.h>
#include <lib/sys/cpp/component_context.h>
#include <lib/syslog/cpp/log_settings.h>
#include <lib/syslog/cpp/macros.h>
int main() {
fuchsia_logging::LogSettingsBuilder builder;
builder.WithTags({"test_program"}).BuildAndInitialize();
async::Loop loop(&kAsyncLoopConfigAttachToCurrentThread);
auto context = sys::ComponentContext::CreateAndServeOutgoingDirectory();
auto inspector =
std::make_unique<inspect::ComponentInspector>(loop.dispatcher(), inspect::PublishOptions{});
inspector->root().RecordString("version", "v1");
auto option_a = inspector->root().CreateChild("option_a");
option_a.RecordInt("value", 10);
auto option_b = inspector->root().CreateChild("option_b");
option_b.RecordInt("value", 20);
FX_LOG_KV(INFO, "I'm an info log", FX_KV("tag", "hello"), FX_KV("foo", 100));
FX_LOG_KV(WARNING, "I'm a warn log", FX_KV("bar", "baz"));
FX_LOG_KV(ERROR, "I'm an error log");
loop.Run();
return 0;
}