Documentation
¶
Index ¶
- type BaseLogger
- func (l *BaseLogger) Close() error
- func (l *BaseLogger) Debug(ctx context.Context, message string, fields ...LogField)
- func (l *BaseLogger) Error(ctx context.Context, message string, fields ...LogField)
- func (l *BaseLogger) Fatal(ctx context.Context, message string, fields ...LogField)
- func (l *BaseLogger) GetLevel() LogLevel
- func (l *BaseLogger) Info(ctx context.Context, message string, fields ...LogField)
- func (l *BaseLogger) SetLevel(level LogLevel)
- func (l *BaseLogger) Warn(ctx context.Context, message string, fields ...LogField)
- func (l *BaseLogger) WithContext(ctx context.Context) Logger
- func (l *BaseLogger) WithFields(fields ...LogField) Logger
- type JSONFormatter
- type LogEntry
- type LogField
- func Any(key string, value interface{}) LogField
- func Bool(key string, value bool) LogField
- func Duration(key string, value time.Duration) LogField
- func ErrorField(key string, value error) LogField
- func Float64(key string, value float64) LogField
- func Int(key string, value int) LogField
- func Int64(key string, value int64) LogField
- func String(key, value string) LogField
- func Time(key string, value time.Time) LogField
- type LogFormatter
- type LogLevel
- type Logger
- type LoggerConfig
- type MultiLogger
- func (ml *MultiLogger) Close() error
- func (ml *MultiLogger) Debug(ctx context.Context, message string, fields ...LogField)
- func (ml *MultiLogger) Error(ctx context.Context, message string, fields ...LogField)
- func (ml *MultiLogger) Fatal(ctx context.Context, message string, fields ...LogField)
- func (ml *MultiLogger) GetLevel() LogLevel
- func (ml *MultiLogger) Info(ctx context.Context, message string, fields ...LogField)
- func (ml *MultiLogger) SetLevel(level LogLevel)
- func (ml *MultiLogger) Warn(ctx context.Context, message string, fields ...LogField)
- func (ml *MultiLogger) WithContext(ctx context.Context) Logger
- func (ml *MultiLogger) WithFields(fields ...LogField) Logger
- type PerformanceLogger
- type QueryLogger
- type TextFormatter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseLogger ¶
type BaseLogger struct {
// contains filtered or unexported fields
}
BaseLogger implements the base logging functionality
func NewLogger ¶
func NewLogger(level LogLevel, output io.Writer, formatter LogFormatter) *BaseLogger
NewLogger creates a new logger
func (*BaseLogger) Debug ¶
func (l *BaseLogger) Debug(ctx context.Context, message string, fields ...LogField)
Debug logs a debug message
func (*BaseLogger) Error ¶
func (l *BaseLogger) Error(ctx context.Context, message string, fields ...LogField)
Error logs an error message
func (*BaseLogger) Fatal ¶
func (l *BaseLogger) Fatal(ctx context.Context, message string, fields ...LogField)
Fatal logs a fatal message and exits
func (*BaseLogger) GetLevel ¶
func (l *BaseLogger) GetLevel() LogLevel
GetLevel gets the current log level
func (*BaseLogger) Info ¶
func (l *BaseLogger) Info(ctx context.Context, message string, fields ...LogField)
Info logs an info message
func (*BaseLogger) SetLevel ¶
func (l *BaseLogger) SetLevel(level LogLevel)
SetLevel sets the log level
func (*BaseLogger) Warn ¶
func (l *BaseLogger) Warn(ctx context.Context, message string, fields ...LogField)
Warn logs a warning message
func (*BaseLogger) WithContext ¶
func (l *BaseLogger) WithContext(ctx context.Context) Logger
WithContext creates a new logger with context
func (*BaseLogger) WithFields ¶
func (l *BaseLogger) WithFields(fields ...LogField) Logger
WithFields creates a new logger with additional fields
type LogEntry ¶
type LogEntry struct {
Level LogLevel
Message string
Time time.Time
Fields []LogField
Context context.Context
Caller string
Timestamp string
}
LogEntry represents a log entry
type LogField ¶
type LogField struct {
Key string
Value interface{}
}
LogField represents a structured log field
func ErrorField ¶
type LogFormatter ¶
LogFormatter interface for formatting log entries
type LogLevel ¶
type LogLevel int
LogLevel represents the logging level
func ParseLogLevel ¶
ParseLogLevel parses a string to LogLevel
type Logger ¶
type Logger interface {
Debug(ctx context.Context, message string, fields ...LogField)
Info(ctx context.Context, message string, fields ...LogField)
Warn(ctx context.Context, message string, fields ...LogField)
Error(ctx context.Context, message string, fields ...LogField)
Fatal(ctx context.Context, message string, fields ...LogField)
WithContext(ctx context.Context) Logger
WithFields(fields ...LogField) Logger
SetLevel(level LogLevel)
GetLevel() LogLevel
Close() error
}
Logger interface defines the logging contract
func NewLoggerFromConfig ¶
func NewLoggerFromConfig(config LoggerConfig) (Logger, error)
NewLoggerFromConfig creates a new logger from configuration
type LoggerConfig ¶
type LoggerConfig struct {
Level LogLevel
Format string // "json" or "text"
Output string // "stdout", "stderr", or file path
SlowQueryThreshold time.Duration
EnableCaller bool
EnableTimestamp bool
}
LoggerConfig represents logger configuration
func DefaultLoggerConfig ¶
func DefaultLoggerConfig() LoggerConfig
DefaultLoggerConfig returns default logger configuration
type MultiLogger ¶
type MultiLogger struct {
// contains filtered or unexported fields
}
MultiLogger logs to multiple outputs
func NewMultiLogger ¶
func NewMultiLogger(loggers ...Logger) *MultiLogger
NewMultiLogger creates a new multi-logger
func (*MultiLogger) Debug ¶
func (ml *MultiLogger) Debug(ctx context.Context, message string, fields ...LogField)
Debug logs to all loggers
func (*MultiLogger) Error ¶
func (ml *MultiLogger) Error(ctx context.Context, message string, fields ...LogField)
Error logs to all loggers
func (*MultiLogger) Fatal ¶
func (ml *MultiLogger) Fatal(ctx context.Context, message string, fields ...LogField)
Fatal logs to all loggers and exits
func (*MultiLogger) GetLevel ¶
func (ml *MultiLogger) GetLevel() LogLevel
GetLevel gets the log level (returns the first logger's level)
func (*MultiLogger) Info ¶
func (ml *MultiLogger) Info(ctx context.Context, message string, fields ...LogField)
Info logs to all loggers
func (*MultiLogger) SetLevel ¶
func (ml *MultiLogger) SetLevel(level LogLevel)
SetLevel sets the log level for all loggers
func (*MultiLogger) Warn ¶
func (ml *MultiLogger) Warn(ctx context.Context, message string, fields ...LogField)
Warn logs to all loggers
func (*MultiLogger) WithContext ¶
func (ml *MultiLogger) WithContext(ctx context.Context) Logger
WithContext creates a new logger with context
func (*MultiLogger) WithFields ¶
func (ml *MultiLogger) WithFields(fields ...LogField) Logger
WithFields creates a new logger with additional fields
type PerformanceLogger ¶
type PerformanceLogger struct {
Logger
}
PerformanceLogger provides specialized logging for performance metrics
func NewPerformanceLogger ¶
func NewPerformanceLogger(logger Logger) *PerformanceLogger
NewPerformanceLogger creates a new performance logger
func (*PerformanceLogger) LogGoroutineCount ¶
func (ql *PerformanceLogger) LogGoroutineCount(ctx context.Context, count int)
LogGoroutineCount logs goroutine count
func (*PerformanceLogger) LogMemoryUsage ¶
func (ql *PerformanceLogger) LogMemoryUsage(ctx context.Context, allocated, total int64)
LogMemoryUsage logs memory usage
func (*PerformanceLogger) LogOperation ¶
func (ql *PerformanceLogger) LogOperation(ctx context.Context, operation string, duration time.Duration, metrics map[string]interface{})
LogOperation logs a performance operation
type QueryLogger ¶
type QueryLogger struct {
Logger
// contains filtered or unexported fields
}
QueryLogger provides specialized logging for database queries
func NewQueryLogger ¶
func NewQueryLogger(logger Logger, slowQueryThreshold time.Duration) *QueryLogger
NewQueryLogger creates a new query logger
func (*QueryLogger) LogQuery ¶
func (ql *QueryLogger) LogQuery(ctx context.Context, query string, duration time.Duration, rows int64, err error)
LogQuery logs a database query
func (*QueryLogger) LogTransaction ¶
func (ql *QueryLogger) LogTransaction(ctx context.Context, operation string, duration time.Duration, err error)
LogTransaction logs a database transaction