// Package logging provides structured logging for the sentinel service. // Implementation is delegated to shared/go/ja4common/logger to avoid duplication. package logging import ( jalogger "github.com/antitbone/ja4/ja4common/logger" "github.com/antitbone/ja4/sentinel/api" ) // ServiceLogger satisfies api.Logger using ja4common/logger.ComponentLogger. // This avoids duplicating logging logic that is now shared across all ja4-platform services. type ServiceLogger struct { inner *jalogger.ComponentLogger } // NewServiceLogger creates a new ServiceLogger backed by ja4common. func NewServiceLogger(level string) *ServiceLogger { return &ServiceLogger{inner: jalogger.NewComponentLogger(level)} } // Log emits a structured log entry for the given component. func (l *ServiceLogger) Log(component, level, message string, details map[string]string) { l.inner.Log(component, level, message, details) } // Debug logs a debug entry for the given component. func (l *ServiceLogger) Debug(component, message string, details map[string]string) { l.inner.Debug(component, message, details) } // Info logs an info entry for the given component. func (l *ServiceLogger) Info(component, message string, details map[string]string) { l.inner.Info(component, message, details) } // Warn logs a warning entry for the given component. func (l *ServiceLogger) Warn(component, message string, details map[string]string) { l.inner.Warn(component, message, details) } // Error logs an error entry for the given component. func (l *ServiceLogger) Error(component, message string, details map[string]string) { l.inner.Error(component, message, details) } // compile-time check: ServiceLogger must satisfy api.Logger var _ api.Logger = (*ServiceLogger)(nil)