Documentation
¶
Index ¶
- func CheckElasticsearchHealth(config ElasticsearchConfig) error
- func CheckElasticsearchHealthManually() error
- func ErrorLoggerMiddleware(logger *Logger) echo.MiddlewareFunc
- func GetElasticsearchClient() (*elasticsearch.Client, error)
- func GetElasticsearchStatus() (map[string]interface{}, error)
- func LoggerMiddleware(logger *Logger) echo.MiddlewareFunc
- func NewElasticsearchClient(config ElasticsearchConfig) (*elasticsearch.Client, error)
- func ResetElasticsearchConfig()
- func TestElasticsearchConnection() error
- type Config
- type ElasticsearchConfig
- type ElasticsearchCore
- func (ec *ElasticsearchCore) Check(ent zapcore.Entry, ce *zapcore.CheckedEntry) *zapcore.CheckedEntry
- func (ec *ElasticsearchCore) Close() error
- func (ec *ElasticsearchCore) Enabled(level zapcore.Level) bool
- func (ec *ElasticsearchCore) Sync() error
- func (ec *ElasticsearchCore) With(fields []zap.Field) zapcore.Core
- func (ec *ElasticsearchCore) Write(entry zapcore.Entry, fields []zap.Field) error
- type Logger
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckElasticsearchHealth ¶
func CheckElasticsearchHealth(config ElasticsearchConfig) error
CheckElasticsearchHealth checks if Elasticsearch is accessible and can write to the specified index This function is now separate and should be called manually when needed
func CheckElasticsearchHealthManually ¶
func CheckElasticsearchHealthManually() error
CheckElasticsearchHealthManually performs a manual health check of Elasticsearch This function can be called manually to verify Elasticsearch connectivity
func ErrorLoggerMiddleware ¶
func ErrorLoggerMiddleware(logger *Logger) echo.MiddlewareFunc
ErrorLoggerMiddleware creates middleware for logging errors
func GetElasticsearchClient ¶
func GetElasticsearchClient() (*elasticsearch.Client, error)
GetElasticsearchClient creates and returns an Elasticsearch client for manual operations
func GetElasticsearchStatus ¶
GetElasticsearchStatus returns the current status of Elasticsearch configuration
func LoggerMiddleware ¶
func LoggerMiddleware(logger *Logger) echo.MiddlewareFunc
LoggerMiddleware creates Echo middleware that uses Zap logger
func NewElasticsearchClient ¶
func NewElasticsearchClient(config ElasticsearchConfig) (*elasticsearch.Client, error)
NewElasticsearchClient creates a new Elasticsearch client
func ResetElasticsearchConfig ¶
func ResetElasticsearchConfig()
ResetElasticsearchConfig resets the global configuration (mainly for testing)
func TestElasticsearchConnection ¶
func TestElasticsearchConnection() error
TestElasticsearchConnection tests the connection to Elasticsearch without creating logs
Types ¶
type Config ¶
Config holds logger configuration
func LoadConfigFromEnv ¶
func LoadConfigFromEnv() Config
LoadConfigFromEnv loads logger configuration from environment variables
type ElasticsearchConfig ¶
type ElasticsearchConfig struct {
URLs []string
Username string
Password string
Index string
Enabled bool
// Health check settings
HealthCheckEnabled bool
HealthCheckTimeout time.Duration
}
ElasticsearchConfig holds Elasticsearch configuration
func GetElasticsearchConfig ¶
func GetElasticsearchConfig() (*ElasticsearchConfig, error)
GetElasticsearchConfig returns the global Elasticsearch configuration This function loads configuration only once and caches it
func LoadElasticsearchConfigFromEnv ¶
func LoadElasticsearchConfigFromEnv() (ElasticsearchConfig, error)
LoadElasticsearchConfigFromEnv loads Elasticsearch configuration from environment variables
type ElasticsearchCore ¶
type ElasticsearchCore struct {
// contains filtered or unexported fields
}
ElasticsearchCore implements zapcore.Core for Elasticsearch logging
func NewElasticsearchCore ¶
func NewElasticsearchCore(baseCore zapcore.Core, esClient *elasticsearch.Client, index string) *ElasticsearchCore
NewElasticsearchCore creates a new Elasticsearch core
func (*ElasticsearchCore) Check ¶
func (ec *ElasticsearchCore) Check(ent zapcore.Entry, ce *zapcore.CheckedEntry) *zapcore.CheckedEntry
Check implements zapcore.Core
func (*ElasticsearchCore) Close ¶
func (ec *ElasticsearchCore) Close() error
Close closes the bulk indexer
func (*ElasticsearchCore) Enabled ¶
func (ec *ElasticsearchCore) Enabled(level zapcore.Level) bool
Enabled implements zapcore.Core
func (*ElasticsearchCore) Sync ¶
func (ec *ElasticsearchCore) Sync() error
Sync implements zapcore.Core
type Logger ¶
Logger wraps zap logger
func NewLoggerWithElasticsearch ¶
func NewLoggerWithElasticsearch(config Config, esConfig ElasticsearchConfig) (*Logger, error)
NewLoggerWithElasticsearch creates a new logger with Elasticsearch integration
func NewStandardLogger ¶
NewStandardLogger creates a standard logger without Elasticsearch
func (*Logger) WithContext ¶
WithContext creates a new logger with context values
func (*Logger) WithFields ¶
WithFields creates a new logger with additional fields