core

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 20, 2026 License: MIT Imports: 31 Imported by: 0

Documentation

Overview

Package core provides the internal implementation of Ion's logging and tracing.

Index

Constants

View Source
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.

View Source
const SystemFieldPrefix = "__ion_"

SystemFieldPrefix is the reserved prefix for internal system fields. Users should avoid keys starting with this prefix.

Variables

View Source
var DebugOTEL bool

DebugOTEL enables debug logging for OTEL setup.

Functions

func NewFilteringCore

func NewFilteringCore(core zapcore.Core, keys ...string) zapcore.Core

NewFilteringCore creates a core that filters out specific keys.

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

func (*LogProvider) Shutdown

func (p *LogProvider) Shutdown(ctx context.Context) error

Shutdown shuts down the log provider.

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.

func (*MeterProvider) Shutdown added in v0.3.0

func (mp *MeterProvider) Shutdown(ctx context.Context) error

Shutdown shuts down the meter provider.

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.

func (*TracerProvider) Shutdown

func (tp *TracerProvider) Shutdown(ctx context.Context) error

Shutdown shuts down the 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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL