core

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2025 License: MIT Imports: 25 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 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