blob: 3b97fcddcf2aee9478c075e13574e931a7f2ad98 [file]
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
// Package embedded provides interfaces embedded within the [OpenTelemetry Logs
// Bridge API].
//
// Implementers of the [OpenTelemetry Logs API] can embed the relevant
// type from this package into their implementation directly. Doing so will
// result in a compilation error for users when the [OpenTelemetry Logs Bridge
// API] is extended (which is something that can happen without a major version
// bump of the API package).
//
// [OpenTelemetry Logs API]: https://pkg.go.dev/go.opentelemetry.io/otel/log
package embedded
// LoggerProvider is embedded in the [Logs API LoggerProvider].
//
// Embed this interface in your implementation of the [Logs API
// LoggerProvider] if you want users to experience a compilation error when the
// [Logs Bridge API LoggerProvider] interface is extended (which is something
// that can happen without a major version bump of the API package). This error
// signals that they need to update to your latest implementation.
//
// [Logs API LoggerProvider]: https://pkg.go.dev/go.opentelemetry.io/otel/log#LoggerProvider
type LoggerProvider interface{ loggerProvider() }
// Logger is embedded in the [Logs API Logger].
//
// Embed this interface in your implementation of the [Logs API Logger]
// if you want users to experience a compilation error when the [Logs API
// Logger] interface is extended (which is something that can happen without a
// major version bump of the API package). This error signals that they need to
// update to your latest implementation.
//
// [Logs API Logger]: https://pkg.go.dev/go.opentelemetry.io/otel/log#Logger
type Logger interface{ logger() }