proxy.golang.org : github.com/grafana/opentelemetry-go/log
Package log provides the OpenTelemetry Logs Bridge API. This package is intended to be a bridge between existing logging libraries and OpenTelemetry. It is not designed to be a logging API itself. This package does not conform to the standard Go versioning policy, all of its interfaces may have methods added to them without a package major version bump. This non-standard API evolution could surprise an uninformed implementation author. They could unknowingly build their implementation in a way that would result in a runtime panic for their users that update to the new API. The API is designed to help inform an instrumentation author about this non-standard API evolution. It requires them to choose a default behavior for unimplemented interface methods. There are three behavior choices they can make: All interfaces in this API embed a corresponding interface from github.com/grafana/opentelemetry-go/log/embedded. If an author wants the default behavior of their implementations to be a compilation failure, signaling to their users they need to update to the latest version of that implementation, they need to embed the corresponding interface from github.com/grafana/opentelemetry-go/log/embedded in their implementation. For example, If an author wants the default behavior of their implementations to a panic, they need to embed the API interface directly. This is not a recommended behavior as it could lead to publishing packages that contain runtime panics when users update other package that use newer versions of github.com/grafana/opentelemetry-go/log. Finally, an author can embed another implementation in theirs. The embedded implementation will be used for methods not defined by the author. For example, an author who wants to default to silently dropping the call can use github.com/grafana/opentelemetry-go/log/noop: It is strongly recommended that authors only embed github.com/grafana/opentelemetry-go/log/noop if they choose this default behavior. That implementation is the only one OpenTelemetry authors can guarantee will fully implement all the API interfaces when a user updates their API.
Registry
-
Source
- Documentation
- JSON
- codemeta.json
purl: pkg:golang/github.com/grafana/opentelemetry-go/log
License: Apache-2.0
Latest release: over 1 year ago
First release: almost 2 years ago
Namespace: github.com/grafana/opentelemetry-go
Stars: 0 on GitHub
Forks: 0 on GitHub
See more repository details: repos.ecosyste.ms
Last synced: 7 days ago