Documentation
¶
Index ¶
- func CreateLoggerFromEnvironment(environment string) (core.Logger, error)
- func CreateLoggerFromFile(filename string) (core.Logger, error)
- func CreateLoggerFromJSON(jsonData []byte) (core.Logger, error)
- func GetBool(args map[string]any, key string, defaultValue bool) bool
- func GetDuration(args map[string]any, key string, defaultValue string) string
- func GetFloat(args map[string]any, key string, defaultValue float64) float64
- func GetInt(args map[string]any, key string, defaultValue int) int
- func GetInt64(args map[string]any, key string, defaultValue int64) int64
- func GetString(args map[string]any, key string, defaultValue string) string
- func ParseLevel(levelStr string) (core.LogEventLevel, error)
- type Configuration
- type EnricherConfiguration
- type EnricherFactory
- type FilterConfiguration
- type FilterFactory
- type LoggerBuilder
- func (lb *LoggerBuilder) Build(config *Configuration) (core.Logger, error)
- func (lb *LoggerBuilder) RegisterEnricher(name string, factory EnricherFactory)
- func (lb *LoggerBuilder) RegisterFilter(name string, factory FilterFactory)
- func (lb *LoggerBuilder) RegisterSink(name string, factory SinkFactory)
- type LoggerConfiguration
- type SinkConfiguration
- type SinkFactory
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateLoggerFromEnvironment ¶
CreateLoggerFromEnvironment creates a logger from environment-specific config files. It looks for appsettings.json and appsettings.{environment}.json files.
func CreateLoggerFromFile ¶
CreateLoggerFromFile creates a logger from a JSON configuration file. This is the main entry point for configuration-based logger creation.
func CreateLoggerFromJSON ¶
CreateLoggerFromJSON creates a logger from JSON configuration data.
func GetDuration ¶
GetDuration gets a duration value from configuration args. Supports formats like "100ms", "5s", "1m", etc.
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.