Program Listing for File logger_config.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/logger_config.h)

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

#pragma once

#include "opentelemetry/logs/severity.h"
#include "opentelemetry/version.h"

OPENTELEMETRY_BEGIN_NAMESPACE
namespace sdk
{
namespace logs
{
class OPENTELEMETRY_EXPORT LoggerConfig
{
public:
  bool operator==(const LoggerConfig &other) const noexcept;

  bool IsEnabled() const noexcept;

  opentelemetry::logs::Severity GetMinimumSeverity() const noexcept;

  bool IsTraceBased() const noexcept;

  static LoggerConfig Create(bool enabled,
                             opentelemetry::logs::Severity minimum_severity,
                             bool trace_based) noexcept;

  static LoggerConfig Enabled();

  static LoggerConfig Disabled();

  static LoggerConfig Default();

private:
  explicit LoggerConfig(
      bool enabled                                   = true,
      opentelemetry::logs::Severity minimum_severity = opentelemetry::logs::Severity::kInvalid,
      bool trace_based                               = false) noexcept
      : enabled_(enabled), minimum_severity_(minimum_severity), trace_based_(trace_based)
  {}

  bool enabled_;
  opentelemetry::logs::Severity minimum_severity_;
  bool trace_based_;
};
}  // namespace logs
}  // namespace sdk
OPENTELEMETRY_END_NAMESPACE