Documentation
¶
Overview ¶
Package core provides the internal implementation of Ion's logging and tracing.
Index ¶
Constants ¶
const SentinelKey = "__ion_ctx__"
SentinelKey is the context key for passing context.Context through zap.Reflect. This is used by the filter core to hide the ugly output in console/file logs, while allowing the OTEL bridge to extract trace IDs.
const SystemFieldPrefix = "__ion_"
SystemFieldPrefix is the reserved prefix for internal system fields. Users should avoid keys starting with this prefix.
Variables ¶
var DebugOTEL bool
DebugOTEL enables debug logging for OTEL setup.
Functions ¶
Types ¶
type LogProvider ¶
type LogProvider struct {
// contains filtered or unexported fields
}
LogProvider manages the OpenTelemetry log provider.
func SetupLogProvider ¶
func SetupLogProvider(cfg config.OTELConfig, serviceName, version string) (*LogProvider, error)
SetupLogProvider initializes OpenTelemetry logging.
func (*LogProvider) LoggerProvider ¶
func (p *LogProvider) LoggerProvider() *sdklog.LoggerProvider
LoggerProvider returns the underlying sdklog.LoggerProvider
type MeterProvider ¶ added in v0.3.0
type MeterProvider struct {
// contains filtered or unexported fields
}
MeterProvider wraps the OTEL MeterProvider.
func SetupMeterProvider ¶ added in v0.3.0
func SetupMeterProvider(cfg config.MetricsConfig, serviceName, version string) (*MeterProvider, error)
SetupMeterProvider initializes OpenTelemetry metrics.
func (*MeterProvider) Meter ¶ added in v0.3.0
func (mp *MeterProvider) Meter(name string, opts ...metric.MeterOption) metric.Meter
Meter returns a named meter.
type TracerProvider ¶
type TracerProvider struct {
// contains filtered or unexported fields
}
TracerProvider wraps the OTEL TracerProvider.
func SetupTracerProvider ¶
func SetupTracerProvider(cfg config.TracingConfig, serviceName, version string) (*TracerProvider, error)
SetupTracerProvider creates and configures the OTEL tracer provider.
type ZapFactoryResult ¶
type ZapFactoryResult struct {
Logger *zap.Logger
AtomicLevel zap.AtomicLevel
OTELProvider *LogProvider
}
ZapFactoryResult holds the result of constructing the zap logger.
func NewZapLogger ¶
func NewZapLogger(cfg config.Config) (*ZapFactoryResult, error)
NewZapLogger creates a new configured Zap logger. It sets up console, file, and OTEL cores as configured.