v0.4.5 refactor and cleanup, minor bug fixes, default config update

This commit is contained in:
2025-09-25 17:24:14 -04:00
parent 9111d054fd
commit 15d72baafd
47 changed files with 546 additions and 522 deletions

View File

@ -15,13 +15,13 @@ import (
"github.com/lixenwraith/log"
)
// ConsoleConfig holds common configuration for console sinks
// Holds common configuration for console sinks
type ConsoleConfig struct {
Target string // "stdout", "stderr", or "split"
BufferSize int64
}
// StdoutSink writes log entries to stdout
// Writes log entries to stdout
type StdoutSink struct {
input chan core.LogEntry
config ConsoleConfig
@ -36,7 +36,7 @@ type StdoutSink struct {
lastProcessed atomic.Value // time.Time
}
// NewStdoutSink creates a new stdout sink
// Creates a new stdout sink
func NewStdoutSink(options map[string]any, logger *log.Logger, formatter format.Formatter) (*StdoutSink, error) {
config := ConsoleConfig{
Target: "stdout",
@ -134,7 +134,7 @@ func (s *StdoutSink) processLoop(ctx context.Context) {
}
}
// StderrSink writes log entries to stderr
// Writes log entries to stderr
type StderrSink struct {
input chan core.LogEntry
config ConsoleConfig
@ -149,7 +149,7 @@ type StderrSink struct {
lastProcessed atomic.Value // time.Time
}
// NewStderrSink creates a new stderr sink
// Creates a new stderr sink
func NewStderrSink(options map[string]any, logger *log.Logger, formatter format.Formatter) (*StderrSink, error) {
config := ConsoleConfig{
Target: "stderr",

View File

@ -13,7 +13,7 @@ import (
"github.com/lixenwraith/log"
)
// FileSink writes log entries to files with rotation
// Writes log entries to files with rotation
type FileSink struct {
input chan core.LogEntry
writer *log.Logger // Internal logger instance for file writing
@ -27,7 +27,7 @@ type FileSink struct {
lastProcessed atomic.Value // time.Time
}
// NewFileSink creates a new file sink
// Creates a new file sink
func NewFileSink(options map[string]any, logger *log.Logger, formatter format.Formatter) (*FileSink, error) {
directory, ok := options["directory"].(string)
if !ok || directory == "" {

View File

@ -24,7 +24,7 @@ import (
"github.com/valyala/fasthttp"
)
// HTTPSink streams log entries via Server-Sent Events
// Streams log entries via Server-Sent Events
type HTTPSink struct {
input chan core.LogEntry
config HTTPConfig
@ -62,7 +62,7 @@ type HTTPSink struct {
authSuccesses atomic.Uint64
}
// HTTPConfig holds HTTP sink configuration
// Holds HTTP sink configuration
type HTTPConfig struct {
Host string
Port int64
@ -74,13 +74,13 @@ type HTTPConfig struct {
NetLimit *config.NetLimitConfig
}
// NewHTTPSink creates a new HTTP streaming sink
// Creates a new HTTP streaming sink
func NewHTTPSink(options map[string]any, logger *log.Logger, formatter format.Formatter) (*HTTPSink, error) {
cfg := HTTPConfig{
Host: "0.0.0.0",
Port: 8080,
BufferSize: 1000,
StreamPath: "/transport",
StreamPath: "/stream",
StatusPath: "/status",
}
@ -806,7 +806,7 @@ func (h *HTTPSink) GetHost() string {
return h.config.Host
}
// SetAuthConfig configures http sink authentication
// Configures http sink authentication
func (h *HTTPSink) SetAuthConfig(authCfg *config.AuthConfig) {
if authCfg == nil || authCfg.Type == "none" {
return

View File

@ -21,7 +21,7 @@ import (
"github.com/valyala/fasthttp"
)
// HTTPClientSink forwards log entries to a remote HTTP endpoint
// Forwards log entries to a remote HTTP endpoint
type HTTPClientSink struct {
input chan core.LogEntry
config HTTPClientConfig
@ -43,7 +43,7 @@ type HTTPClientSink struct {
activeConnections atomic.Int64
}
// HTTPClientConfig holds HTTP client sink configuration
// Holds HTTP client sink configuration
type HTTPClientConfig struct {
URL string
BufferSize int64
@ -64,7 +64,7 @@ type HTTPClientConfig struct {
KeyFile string
}
// NewHTTPClientSink creates a new HTTP client sink
// Creates a new HTTP client sink
func NewHTTPClientSink(options map[string]any, logger *log.Logger, formatter format.Formatter) (*HTTPClientSink, error) {
cfg := HTTPClientConfig{
BufferSize: int64(1000),

View File

@ -9,7 +9,7 @@ import (
"logwisp/src/internal/core"
)
// Sink represents an output destination for log entries
// Represents an output destination for log entries
type Sink interface {
// Input returns the channel for sending log entries to this sink
Input() chan<- core.LogEntry
@ -24,7 +24,7 @@ type Sink interface {
GetStats() SinkStats
}
// SinkStats contains statistics about a sink
// Contains statistics about a sink
type SinkStats struct {
Type string
TotalProcessed uint64
@ -34,7 +34,7 @@ type SinkStats struct {
Details map[string]any
}
// AuthSetter is an interface for sinks that can accept an AuthConfig.
// Interface for sinks that can accept an AuthConfig
type AuthSetter interface {
SetAuthConfig(auth *config.AuthConfig)
}

View File

@ -24,7 +24,7 @@ import (
"github.com/panjf2000/gnet/v2"
)
// TCPSink streams log entries via TCP
// Streams log entries via TCP
type TCPSink struct {
input chan core.LogEntry
config TCPConfig
@ -56,7 +56,7 @@ type TCPSink struct {
errorMu sync.Mutex
}
// TCPConfig holds TCP sink configuration
// Holds TCP sink configuration
type TCPConfig struct {
Host string
Port int64
@ -66,7 +66,7 @@ type TCPConfig struct {
NetLimit *config.NetLimitConfig
}
// NewTCPSink creates a new TCP streaming sink
// Creates a new TCP streaming sink
func NewTCPSink(options map[string]any, logger *log.Logger, formatter format.Formatter) (*TCPSink, error) {
cfg := TCPConfig{
Host: "0.0.0.0",
@ -480,12 +480,12 @@ func (t *TCPSink) createHeartbeatEntry() core.LogEntry {
}
}
// GetActiveConnections returns the current number of connections
// Returns the current number of connections
func (t *TCPSink) GetActiveConnections() int64 {
return t.activeConns.Load()
}
// tcpClient represents a connected TCP client with auth state
// Represents a connected TCP client with auth state
type tcpClient struct {
conn gnet.Conn
buffer bytes.Buffer
@ -496,7 +496,7 @@ type tcpClient struct {
authTimeoutSet bool
}
// tcpServer handles gnet events with authentication
// Handles gnet events with authentication
type tcpServer struct {
gnet.BuiltinEventEngine
sink *TCPSink
@ -777,7 +777,7 @@ func (s *tcpServer) OnTraffic(c gnet.Conn) gnet.Action {
return gnet.None
}
// SetAuthConfig configures tcp sink authentication
// Configures tcp sink authentication
func (t *TCPSink) SetAuthConfig(authCfg *config.AuthConfig) {
if authCfg == nil || authCfg.Type == "none" {
return

View File

@ -22,7 +22,7 @@ import (
"github.com/lixenwraith/log"
)
// TCPClientSink forwards log entries to a remote TCP endpoint
// Forwards log entries to a remote TCP endpoint
type TCPClientSink struct {
input chan core.LogEntry
config TCPClientConfig
@ -51,7 +51,7 @@ type TCPClientSink struct {
connectionUptime atomic.Value // time.Duration
}
// TCPClientConfig holds TCP client sink configuration
// Holds TCP client sink configuration
type TCPClientConfig struct {
Address string
BufferSize int64
@ -69,7 +69,7 @@ type TCPClientConfig struct {
TLS *config.TLSConfig
}
// NewTCPClientSink creates a new TCP client sink
// Creates a new TCP client sink
func NewTCPClientSink(options map[string]any, logger *log.Logger, formatter format.Formatter) (*TCPClientSink, error) {
cfg := TCPClientConfig{
BufferSize: int64(1000),
@ -504,7 +504,7 @@ func (t *TCPClientSink) sendEntry(entry core.LogEntry) error {
return nil
}
// tlsVersionString returns human-readable TLS version
// Returns human-readable TLS version
func tlsVersionString(version uint16) string {
switch version {
case tls.VersionTLS10:
@ -520,7 +520,7 @@ func tlsVersionString(version uint16) string {
}
}
// parseTLSVersion converts string to TLS version constant
// Converts string to TLS version constant
func parseTLSVersion(version string, defaultVersion uint16) uint16 {
switch strings.ToUpper(version) {
case "TLS1.0", "TLS10":