configuration

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateLoggerFromEnvironment

func CreateLoggerFromEnvironment(environment string) (core.Logger, error)

CreateLoggerFromEnvironment creates a logger from environment-specific config files. It looks for appsettings.json and appsettings.{environment}.json files.

func CreateLoggerFromFile

func CreateLoggerFromFile(filename string) (core.Logger, error)

CreateLoggerFromFile creates a logger from a JSON configuration file. This is the main entry point for configuration-based logger creation.

func CreateLoggerFromJSON

func CreateLoggerFromJSON(jsonData []byte) (core.Logger, error)

CreateLoggerFromJSON creates a logger from JSON configuration data.

func GetBool

func GetBool(args map[string]any, key string, defaultValue bool) bool

GetBool gets a bool value from configuration args.

func GetDuration

func GetDuration(args map[string]any, key string, defaultValue string) string

GetDuration gets a duration value from configuration args. Supports formats like "100ms", "5s", "1m", etc.

func GetFloat added in v0.10.0

func GetFloat(args map[string]any, key string, defaultValue float64) float64

GetFloat gets a float64 value from configuration args.

func GetInt

func GetInt(args map[string]any, key string, defaultValue int) int

GetInt gets an int value from configuration args.

func GetInt64

func GetInt64(args map[string]any, key string, defaultValue int64) int64

GetInt64 gets an int64 value from configuration args.

func GetString

func GetString(args map[string]any, key string, defaultValue string) string

GetString gets a string value from configuration args.

func ParseLevel

func ParseLevel(levelStr string) (core.LogEventLevel, error)

ParseLevel parses a log level string.

Types

type Configuration

type Configuration struct {
	Mtlog LoggerConfiguration `json:"Mtlog"`
}

Configuration is the root configuration object.

func LoadFromFile

func LoadFromFile(filename string) (*Configuration, error)

LoadFromFile loads configuration from a JSON file.

func LoadFromJSON

func LoadFromJSON(data []byte) (*Configuration, error)

LoadFromJSON loads configuration from JSON data.

type EnricherConfiguration

type EnricherConfiguration struct {
	Name string         `json:"Name"`
	Args map[string]any `json:"Args,omitempty"`
}

EnricherConfiguration represents an enricher with arguments.

type EnricherFactory

type EnricherFactory func(args map[string]any) (core.LogEventEnricher, error)

EnricherFactory creates an enricher from configuration.

type FilterConfiguration

type FilterConfiguration struct {
	Name string         `json:"Name"`
	Args map[string]any `json:"Args,omitempty"`
}

FilterConfiguration represents a filter configuration.

type FilterFactory

type FilterFactory func(args map[string]any) (core.LogEventFilter, error)

FilterFactory creates a filter from configuration.

type LoggerBuilder

type LoggerBuilder struct {
	// contains filtered or unexported fields
}

LoggerBuilder builds a logger from configuration.

func NewLoggerBuilder

func NewLoggerBuilder() *LoggerBuilder

NewLoggerBuilder creates a new logger builder with default factories.

func (*LoggerBuilder) Build

func (lb *LoggerBuilder) Build(config *Configuration) (core.Logger, error)

Build creates a logger from configuration.

func (*LoggerBuilder) RegisterEnricher

func (lb *LoggerBuilder) RegisterEnricher(name string, factory EnricherFactory)

RegisterEnricher registers an enricher factory.

func (*LoggerBuilder) RegisterFilter

func (lb *LoggerBuilder) RegisterFilter(name string, factory FilterFactory)

RegisterFilter registers a filter factory.

func (*LoggerBuilder) RegisterSink

func (lb *LoggerBuilder) RegisterSink(name string, factory SinkFactory)

RegisterSink registers a sink factory.

type LoggerConfiguration

type LoggerConfiguration struct {
	MinimumLevel string                  `json:"MinimumLevel,omitempty"`
	WriteTo      []SinkConfiguration     `json:"WriteTo,omitempty"`
	Enrich       []string                `json:"Enrich,omitempty"`
	EnrichWith   []EnricherConfiguration `json:"EnrichWith,omitempty"`
	Properties   map[string]any          `json:"Properties,omitempty"`
	Filter       []FilterConfiguration   `json:"Filter,omitempty"`
}

LoggerConfiguration represents the JSON configuration for mtlog.

type SinkConfiguration

type SinkConfiguration struct {
	Name string         `json:"Name"`
	Args map[string]any `json:"Args,omitempty"`
}

SinkConfiguration represents a sink configuration.

type SinkFactory

type SinkFactory func(args map[string]any) (core.LogEventSink, error)

SinkFactory creates a sink from configuration.

Jump to

Keyboard shortcuts

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