NVIDIA DeepStream SDK API Reference

9.2 Release
9.2/includes/opentelemetry/logs/logger_provider.h
Go to the documentation of this file.
1 // Copyright The OpenTelemetry Authors
2 // SPDX-License-Identifier: Apache-2.0
3 
4 #pragma once
5 
6 #include "opentelemetry/common/key_value_iterable.h"
7 #include "opentelemetry/common/key_value_iterable_view.h"
8 #include "opentelemetry/nostd/shared_ptr.h"
9 #include "opentelemetry/nostd/span.h"
10 #include "opentelemetry/nostd/string_view.h"
11 #include "opentelemetry/nostd/type_traits.h"
12 #include "opentelemetry/version.h"
13 
15 namespace logs
16 {
17 
18 class Logger;
19 
23 class OPENTELEMETRY_EXPORT LoggerProvider
24 {
25 public:
26  virtual ~LoggerProvider() = default;
27 
39  virtual nostd::shared_ptr<Logger> GetLogger(
40  nostd::string_view logger_name,
41  nostd::string_view library_name = "",
42  nostd::string_view library_version = "",
43  nostd::string_view schema_url = "",
44  const common::KeyValueIterable &attributes = common::NoopKeyValueIterable()) = 0;
45 
47  nostd::string_view logger_name,
48  nostd::string_view library_name,
49  nostd::string_view library_version,
50  nostd::string_view schema_url,
51  std::initializer_list<std::pair<nostd::string_view, common::AttributeValue>> attributes)
52  {
53  return GetLogger(logger_name, library_name, library_version, schema_url,
54  nostd::span<const std::pair<nostd::string_view, common::AttributeValue>>{
55  attributes.begin(), attributes.end()});
56  }
57 
58  template <class T,
61  nostd::string_view library_name,
62  nostd::string_view library_version,
63  nostd::string_view schema_url,
64  const T &attributes)
65  {
66  return GetLogger(logger_name, library_name, library_version, schema_url,
68  }
69 };
70 } // namespace logs
OPENTELEMETRY_EXPORT
#define OPENTELEMETRY_EXPORT
Definition: includes/opentelemetry/common/macros.h:386
common::NoopKeyValueIterable
Supports internal iteration over a collection of key-value pairs.
Definition: includes/opentelemetry/common/key_value_iterable.h:40
nostd::span::begin
T * begin() const noexcept
Definition: includes/opentelemetry/nostd/span.h:182
logs
Definition: includes/opentelemetry/logs/event_id.h:13
nostd::shared_ptr
Provide a type-erased version of std::shared_ptr that has ABI stability.
Definition: includes/opentelemetry/nostd/shared_ptr.h:28
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
nostd::span
Back port of std::span.
Definition: includes/opentelemetry/nostd/span.h:51
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
common::KeyValueIterable
Supports internal iteration over a collection of key-value pairs.
Definition: includes/opentelemetry/common/key_value_iterable.h:17
nostd::enable_if_t
typename std::enable_if< B, T >::type enable_if_t
Back port of std::enable_if_t.
Definition: includes/opentelemetry/nostd/type_traits.h:40
common::KeyValueIterableView
Container for key-value pairs that can transform every value in it to one of types listed in common::...
Definition: includes/opentelemetry/common/key_value_iterable_view.h:57
Logger
Definition: sources/gst-plugins/gst-nvdsvideotemplate/ds-sparse4d/infer/engine_builder.h:50
logs::LoggerProvider::GetLogger
nostd::shared_ptr< Logger > GetLogger(nostd::string_view logger_name, nostd::string_view library_name, nostd::string_view library_version, nostd::string_view schema_url, std::initializer_list< std::pair< nostd::string_view, common::AttributeValue >> attributes)
Definition: 9.2/includes/opentelemetry/logs/logger_provider.h:46
logs::LoggerProvider::GetLogger
nostd::shared_ptr< Logger > GetLogger(nostd::string_view logger_name, nostd::string_view library_name, nostd::string_view library_version, nostd::string_view schema_url, const T &attributes)
Definition: 9.2/includes/opentelemetry/logs/logger_provider.h:60
nostd::string_view
Back port of std::string_view to work with pre-cpp-17 compilers.
Definition: includes/opentelemetry/nostd/string_view.h:37