Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AuditEntry ¶
type AuditEntry struct {
ID int64 `json:"id"`
Timestamp time.Time `json:"timestamp"`
EventType string `json:"event_type"`
Actor string `json:"actor"`
Method string `json:"method"`
Path string `json:"path"`
Database string `json:"database,omitempty"`
Measurement string `json:"measurement,omitempty"`
StatusCode int `json:"status_code"`
IPAddress string `json:"ip_address"`
UserAgent string `json:"user_agent"`
DurationMs int64 `json:"duration_ms"`
Detail string `json:"detail,omitempty"`
}
AuditEntry is a stored audit log entry with ID
type AuditEvent ¶
type AuditEvent struct {
Timestamp time.Time `json:"timestamp"`
EventType string `json:"event_type"`
Actor string `json:"actor"`
Method string `json:"method"`
Path string `json:"path"`
Database string `json:"database,omitempty"`
Measurement string `json:"measurement,omitempty"`
StatusCode int `json:"status_code"`
IPAddress string `json:"ip_address"`
UserAgent string `json:"user_agent"`
DurationMs int64 `json:"duration_ms"`
Detail map[string]string `json:"detail,omitempty"`
}
AuditEvent represents a single auditable action
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger is the core audit logging service
func NewLogger ¶
func NewLogger(cfg *LoggerConfig) (*Logger, error)
NewLogger creates a new audit logger
func (*Logger) LogEvent ¶
func (l *Logger) LogEvent(event *AuditEvent)
LogEvent queues an audit event for async writing
func (*Logger) Query ¶
func (l *Logger) Query(ctx context.Context, filter *QueryFilter) ([]AuditEntry, error)
Query retrieves audit log entries matching the given filter
type LoggerConfig ¶
LoggerConfig holds configuration for creating an audit logger
Click to show internal directories.
Click to hide internal directories.