Documentation
¶
Overview ¶
Package logging provides a unified logging interface
Package logging provides a unified logging interface
Index ¶
Constants ¶
View Source
const ( // LogEncodingConsole represents console encoding for logs LogEncodingConsole = "console" // LogEncodingJSON represents JSON encoding for logs LogEncodingJSON = "json" // EnvironmentDevelopment represents the development environment EnvironmentDevelopment = "development" // MaxPartsLength represents the maximum number of parts in a log message MaxPartsLength = 2 // FieldPairSize represents the number of elements in a key-value pair FieldPairSize = 2 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Factory ¶
type Factory struct {
// contains filtered or unexported fields
}
Factory creates loggers based on configuration
func NewFactory ¶
func NewFactory(cfg FactoryConfig) *Factory
NewFactory creates a new logger factory with the given configuration
func (*Factory) CreateLogger ¶
CreateLogger creates a new logger instance with the application name.
type FactoryConfig ¶ added in v0.1.5
type FactoryConfig struct {
AppName string
Version string
Environment string
Fields map[string]any
// OutputPaths specifies where to write logs
OutputPaths []string
// ErrorOutputPaths specifies where to write error logs
ErrorOutputPaths []string
}
FactoryConfig holds the configuration for creating a logger factory
type LogLevel ¶ added in v0.1.5
type LogLevel string
LogLevel represents the severity of a log message
const ( // LogLevelDebug represents debug level logging LogLevelDebug LogLevel = "debug" // LogLevelInfo represents info level logging LogLevelInfo LogLevel = "info" // LogLevelWarn represents warning level logging LogLevelWarn LogLevel = "warn" // LogLevelError represents error level logging LogLevelError LogLevel = "error" // LogLevelFatal represents fatal level logging LogLevelFatal LogLevel = "fatal" )
type Logger ¶
type Logger interface {
// Basic logging methods
// Debug is used for detailed information, typically useful only for diagnosing problems
Debug(msg string, fields ...any)
// Info is used for general operational entries about what's happening inside the application
Info(msg string, fields ...any)
// Warn is used for potentially harmful situations
Warn(msg string, fields ...any)
// Error is used for error events that might still allow the application to continue running
Error(msg string, fields ...any)
// Fatal is used for very severe error events that will presumably lead the application to abort
Fatal(msg string, fields ...any)
// Context methods
// With adds fields to the logger context
With(fields ...any) Logger
// WithComponent adds a component name to the logger context
WithComponent(component string) Logger
// WithOperation adds an operation name to the logger context
WithOperation(operation string) Logger
// WithRequestID adds a request ID to the logger context
WithRequestID(requestID string) Logger
// WithUserID adds a user ID to the logger context (sanitized)
WithUserID(userID string) Logger
// WithError adds an error to the logger context
WithError(err error) Logger
// WithFields adds multiple fields to the logger context
WithFields(fields map[string]any) Logger
// SanitizeField returns a sanitized version of a field value
SanitizeField(key string, value any) any
}
Logger defines the interface for application logging
Click to show internal directories.
Click to hide internal directories.