1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2026-06-03 18:35:08 +02:00
Files
opentelemetry-go/sdk/log/logtest/example_test.go
T
Matthieu MOREL 68841fa6db chore: enable unused-receiver rule from revive (#7130)
#### Description

Enable and fixes
[unused-receiver](https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#unused-receiver)
rule from revive

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-08-08 15:38:22 -07:00

65 lines
1.4 KiB
Go

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
// Package logtest is a testing helper package.
package logtest_test
import (
"context"
"fmt"
"io"
"os"
logapi "go.opentelemetry.io/otel/log"
"go.opentelemetry.io/otel/sdk/instrumentation"
"go.opentelemetry.io/otel/sdk/log"
"go.opentelemetry.io/otel/sdk/log/logtest"
)
func ExampleRecordFactory() {
exp := exporter{os.Stdout}
rf := logtest.RecordFactory{
InstrumentationScope: &instrumentation.Scope{Name: "myapp"},
}
rf.Body = logapi.StringValue("foo")
r1 := rf.NewRecord()
rf.Body = logapi.StringValue("bar")
r2 := rf.NewRecord()
_ = exp.Export(context.Background(), []log.Record{r1, r2})
// Output:
// scope=myapp msg=foo
// scope=myapp msg=bar
}
// Compile time check exporter implements log.Exporter.
var _ log.Exporter = exporter{}
type exporter struct{ io.Writer }
func (e exporter) Export(_ context.Context, records []log.Record) error {
for i, r := range records {
if i != 0 {
if _, err := e.Write([]byte("\n")); err != nil {
return err
}
}
if _, err := fmt.Fprintf(e, "scope=%s msg=%s", r.InstrumentationScope().Name, r.Body().String()); err != nil {
return err
}
}
return nil
}
func (exporter) Shutdown(context.Context) error {
return nil
}
// appropriate error should be returned in these situations.
func (exporter) ForceFlush(context.Context) error {
return nil
}