Program Listing for File readable_log_record.h

Return to documentation for file (/tmp/B.puc0r6hi/BUILD/opentelemetry-cpp-1.27.0-build/opentelemetry-cpp-1.27.0/sdk/include/opentelemetry/sdk/logs/readable_log_record.h)

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

#pragma once

#include <stdint.h>
#include <string>
#include <unordered_map>

#include "opentelemetry/common/attribute_value.h"
#include "opentelemetry/common/timestamp.h"
#include "opentelemetry/logs/log_record.h"
#include "opentelemetry/logs/severity.h"
#include "opentelemetry/nostd/string_view.h"
#include "opentelemetry/sdk/instrumentationscope/instrumentation_scope.h"
#include "opentelemetry/sdk/logs/recordable.h"
#include "opentelemetry/sdk/resource/resource.h"
#include "opentelemetry/version.h"

OPENTELEMETRY_BEGIN_NAMESPACE
namespace trace
{
class SpanId;
class TraceId;
class TraceFlags;
}  // namespace trace

namespace sdk
{
namespace resource
{
class Resource;
}  // namespace resource

namespace instrumentationscope
{
class InstrumentationScope;
}  // namespace instrumentationscope

namespace logs
{
class ReadableLogRecord : public Recordable
{
public:
  virtual opentelemetry::common::SystemTimestamp GetTimestamp() const noexcept = 0;

  virtual opentelemetry::common::SystemTimestamp GetObservedTimestamp() const noexcept = 0;

  virtual opentelemetry::logs::Severity GetSeverity() const noexcept = 0;

  virtual nostd::string_view GetSeverityText() const noexcept;

  virtual const opentelemetry::sdk::common::OwnedAttributeValue &GetBody() const noexcept = 0;

  virtual int64_t GetEventId() const noexcept = 0;

  virtual nostd::string_view GetEventName() const noexcept = 0;

  virtual const opentelemetry::trace::TraceId &GetTraceId() const noexcept = 0;

  virtual const opentelemetry::trace::SpanId &GetSpanId() const noexcept = 0;

  virtual const opentelemetry::trace::TraceFlags &GetTraceFlags() const noexcept = 0;

  virtual const std::unordered_map<std::string, opentelemetry::sdk::common::OwnedAttributeValue> &
  GetAttributes() const noexcept = 0;

  virtual const opentelemetry::sdk::resource::Resource &GetResource() const noexcept = 0;

  virtual const opentelemetry::sdk::instrumentationscope::InstrumentationScope &
  GetInstrumentationScope() const noexcept = 0;

  static const opentelemetry::sdk::instrumentationscope::InstrumentationScope &
  GetDefaultInstrumentationScope() noexcept;

  static const opentelemetry::sdk::resource::Resource &GetDefaultResource() noexcept;
};
}  // namespace logs
}  // namespace sdk
OPENTELEMETRY_END_NAMESPACE