logging

package
v0.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 11, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Close

func Close() error

Close closes the global logging client

func Init

func Init()

Init initializes the global logging client with default configuration

func InitWithConfig

func InitWithConfig(config *LogConfig)

InitWithConfig initializes the global logging client with custom configuration

func IsValidLogLevel

func IsValidLogLevel(level string) bool

IsValidLogLevel checks if a string represents a valid log level

func Log

func Log(service, subcomponent string, level LogLevel, message string, metadata map[string]interface{}, context map[string]interface{})

Log sends a log entry using the global client

func LogBusinessEvent

func LogBusinessEvent(service, subcomponent string, event BusinessEvent, metadata map[string]interface{})

LogBusinessEvent logs a business event using the global client

func LogError

func LogError(service, subcomponent string, err error, details ErrorDetails, metadata map[string]interface{})

LogError logs an error using the global client

func LogHostDiscovery

func LogHostDiscovery(scanID, hostIP string, ports []int, toolUsed string)

LogHostDiscovery logs host discovery using the global client

func LogPerformanceMetric

func LogPerformanceMetric(service, subcomponent string, metric PerformanceMetric, metadata map[string]interface{})

LogPerformanceMetric logs a performance metric using the global client

func LogScanCompletion

func LogScanCompletion(scanID, target string, metadata map[string]interface{})

LogScanCompletion logs scan completion using the global client

func LogScanError

func LogScanError(scanID, target, errorCode, message string, err error)

LogScanError logs a scan error using the global client

func LogScanEvent

func LogScanEvent(scanID, eventType, message string, metadata map[string]interface{})

LogScanEvent logs a scan event using the global client

func LogToolExecution

func LogToolExecution(scanID, target, tool string, duration time.Duration, success bool, metadata map[string]interface{})

LogToolExecution logs tool execution using the global client

func LogVulnerabilityScan

func LogVulnerabilityScan(scanID, hostIP string, vulnerabilities []map[string]interface{}, toolUsed string)

LogVulnerabilityScan logs vulnerability scan using the global client

Types

type BusinessEvent

type BusinessEvent struct {
	EventType  string                 `json:"event_type"`
	EntityID   string                 `json:"entity_id,omitempty"`
	EntityType string                 `json:"entity_type,omitempty"`
	Action     string                 `json:"action,omitempty"`
	Result     string                 `json:"result,omitempty"`
	Metadata   map[string]interface{} `json:"metadata,omitempty"`
}

BusinessEvent represents a structured business event for logging

type ContextLogger

type ContextLogger struct {
	// contains filtered or unexported fields
}

ContextLogger provides context-aware logging

func WithContext

func WithContext(ctx context.Context) *ContextLogger

WithContext creates a context-aware logger

func (*ContextLogger) Log

func (cl *ContextLogger) Log(service, subcomponent string, level LogLevel, message string, metadata map[string]interface{}, context map[string]interface{})

Log sends a log entry with context

func (*ContextLogger) LogBusinessEvent

func (cl *ContextLogger) LogBusinessEvent(service, subcomponent string, event BusinessEvent, metadata map[string]interface{})

LogBusinessEvent logs a business event with context

func (*ContextLogger) LogError

func (cl *ContextLogger) LogError(service, subcomponent string, err error, details ErrorDetails, metadata map[string]interface{})

LogError logs an error with context

type ErrorDetails

type ErrorDetails struct {
	ErrorCode    string                 `json:"error_code,omitempty"`
	ErrorMessage string                 `json:"error_message"`
	StackTrace   string                 `json:"stack_trace,omitempty"`
	Source       string                 `json:"source,omitempty"`
	Metadata     map[string]interface{} `json:"metadata,omitempty"`
}

ErrorDetails represents detailed error information for logging

type LogConfig

type LogConfig struct {
	APIBaseURL    string        `json:"api_base_url"`
	Timeout       time.Duration `json:"timeout"`
	MaxRetries    int           `json:"max_retries"`
	RetryDelay    time.Duration `json:"retry_delay"`
	Async         bool          `json:"async"`
	BufferSize    int           `json:"buffer_size"`
	FlushInterval time.Duration `json:"flush_interval"`
}

LogConfig represents configuration for the logging client

func DefaultLogConfig

func DefaultLogConfig() *LogConfig

DefaultLogConfig returns a default configuration for logging

func LoadConfigFromEnv

func LoadConfigFromEnv() *LogConfig

LoadConfigFromEnv loads logging configuration from environment variables

type LogContext

type LogContext struct {
	Type      string                 `json:"type,omitempty"`
	Endpoint  string                 `json:"endpoint,omitempty"`
	Method    string                 `json:"method,omitempty"`
	RequestID string                 `json:"request_id,omitempty"`
	UserID    string                 `json:"user_id,omitempty"`
	SessionID string                 `json:"session_id,omitempty"`
	Custom    map[string]interface{} `json:"custom,omitempty"`
}

LogContext represents additional context for log entries

type LogEntry

type LogEntry struct {
	ID           string                 `json:"id"`
	Timestamp    time.Time              `json:"timestamp"`
	Service      string                 `json:"service"`
	Subcomponent string                 `json:"subcomponent,omitempty"`
	Level        LogLevel               `json:"level"`
	Message      string                 `json:"message"`
	Metadata     map[string]interface{} `json:"metadata,omitempty"`
	Context      map[string]interface{} `json:"context,omitempty"`
}

LogEntry represents a structured log entry

type LogLevel

type LogLevel string

LogLevel represents the severity level of a log entry

const (
	LogLevelDebug LogLevel = "debug"
	LogLevelInfo  LogLevel = "info"
	LogLevelWarn  LogLevel = "warn"
	LogLevelError LogLevel = "error"
)

func GetLogLevelFromString

func GetLogLevelFromString(level string) LogLevel

GetLogLevelFromString converts a string to LogLevel

type LoggingClient

type LoggingClient struct {
	// contains filtered or unexported fields
}

LoggingClient provides a centralized way to send structured logs to the API

func GetClient

func GetClient() *LoggingClient

GetClient returns the global logging client, initializing it if necessary

func NewLoggingClient

func NewLoggingClient() *LoggingClient

NewLoggingClient creates a new LoggingClient instance with default configuration

func NewLoggingClientWithConfig

func NewLoggingClientWithConfig(config *LogConfig) *LoggingClient

NewLoggingClientWithConfig creates a new LoggingClient instance with custom configuration

func (*LoggingClient) Close

func (lc *LoggingClient) Close() error

Close gracefully shuts down the logging client

func (*LoggingClient) Log

func (lc *LoggingClient) Log(service, subcomponent string, level LogLevel, message string, metadata map[string]interface{}, context map[string]interface{})

Log sends a generic log entry to the API

func (*LoggingClient) LogBusinessEvent

func (lc *LoggingClient) LogBusinessEvent(service, subcomponent string, event BusinessEvent, metadata map[string]interface{})

LogBusinessEvent logs a structured business event

func (*LoggingClient) LogError

func (lc *LoggingClient) LogError(service, subcomponent string, err error, details ErrorDetails, metadata map[string]interface{})

LogError logs an error with detailed information

func (*LoggingClient) LogHostDiscovery

func (lc *LoggingClient) LogHostDiscovery(scanID, hostIP string, ports []int, toolUsed string)

LogHostDiscovery logs host discovery events (convenience method for App Scanner)

func (*LoggingClient) LogPerformanceMetric

func (lc *LoggingClient) LogPerformanceMetric(service, subcomponent string, metric PerformanceMetric, metadata map[string]interface{})

LogPerformanceMetric logs a performance metric

func (*LoggingClient) LogScanCompletion

func (lc *LoggingClient) LogScanCompletion(scanID, target string, metadata map[string]interface{})

LogScanCompletion logs scan completion (convenience method for App Scanner)

func (*LoggingClient) LogScanError

func (lc *LoggingClient) LogScanError(scanID, target, errorCode, message string, err error)

LogScanError logs a scan-related error (convenience method for App Scanner)

func (*LoggingClient) LogScanEvent

func (lc *LoggingClient) LogScanEvent(scanID, eventType, message string, metadata map[string]interface{})

LogScanEvent logs a scan-related event (convenience method for App Scanner)

func (*LoggingClient) LogToolExecution

func (lc *LoggingClient) LogToolExecution(scanID, target, tool string, duration time.Duration, success bool, metadata map[string]interface{})

LogToolExecution logs tool execution metrics (convenience method for App Scanner)

func (*LoggingClient) LogVulnerabilityScan

func (lc *LoggingClient) LogVulnerabilityScan(scanID, hostIP string, vulnerabilities []map[string]interface{}, toolUsed string)

LogVulnerabilityScan logs vulnerability scan results (convenience method for App Scanner)

type PerformanceMetric

type PerformanceMetric struct {
	Duration    time.Duration          `json:"duration"`
	MemoryUsage int64                  `json:"memory_usage,omitempty"`
	CPUUsage    float64                `json:"cpu_usage,omitempty"`
	Throughput  float64                `json:"throughput,omitempty"`
	Metadata    map[string]interface{} `json:"metadata,omitempty"`
}

PerformanceMetric represents performance data for logging

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL