Draft: big refactor
This commit is contained in:
@@ -1,33 +1,42 @@
|
||||
package tracing
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/spf13/viper"
|
||||
"github.com/uptrace/opentelemetry-go-extra/otelzap"
|
||||
"go.opentelemetry.io/otel"
|
||||
"go.opentelemetry.io/contrib/bridges/otelzap"
|
||||
"go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc"
|
||||
"go.opentelemetry.io/otel/sdk/log"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
var (
|
||||
Tracer trace.Tracer
|
||||
Logger *otelzap.Logger
|
||||
Provider *log.LoggerProvider
|
||||
Tracer trace.Tracer
|
||||
Logger *zap.Logger
|
||||
|
||||
version string = "0.0.1-alpha"
|
||||
)
|
||||
|
||||
func InitTracer(appname string) {
|
||||
Tracer = otel.Tracer(appname)
|
||||
|
||||
var l *zap.Logger
|
||||
var err error
|
||||
if viper.GetBool("zap-production") {
|
||||
l, err = zap.NewProduction()
|
||||
} else {
|
||||
l, err = zap.NewDevelopment()
|
||||
}
|
||||
ctx := context.Background()
|
||||
exp, err := otlploggrpc.New(ctx,
|
||||
otlploggrpc.WithInsecure(),
|
||||
otlploggrpc.WithEndpoint(viper.GetString("otel-endpoint")))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
Logger = otelzap.New(l)
|
||||
Provider = log.NewLoggerProvider(
|
||||
log.WithProcessor(log.NewBatchProcessor(exp)))
|
||||
otelCore := otelzap.NewCore(appname,
|
||||
otelzap.WithLoggerProvider(Provider))
|
||||
|
||||
Logger = zap.New(otelCore, zap.AddCaller())
|
||||
}
|
||||
|
||||
func DeferTracer() {
|
||||
Logger.Sync()
|
||||
Provider.Shutdown(context.Background())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user