backends

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package backends provides audit logging backend implementations.

Index

Constants

View Source
const (
	// DefaultTTLDays is the default TTL in days for DynamoDB audit items when not configured.
	DefaultTTLDays = 90
	// MaxTTLDays is the maximum allowed TTL in days for DynamoDB audit items.
	MaxTTLDays = 365
)

Variables

This section is empty.

Functions

func NewBackend

func NewBackend(ctx context.Context, cfg *config.Config) (audit.AuditEntryBackend, error)

NewBackend creates an audit.AuditEntryBackend from the application config.

Types

type ConsoleLogger

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

ConsoleLogger logs audit entries as structured slog output.

func NewConsoleLogger

func NewConsoleLogger(logger *slog.Logger) *ConsoleLogger

NewConsoleLogger returns a console audit logger that writes to the given slog.Logger.

func (*ConsoleLogger) Close

func (l *ConsoleLogger) Close() error

Close is a no-op for the console logger.

func (*ConsoleLogger) Log

func (l *ConsoleLogger) Log(ctx context.Context, entry *audit.AuditEntry) error

Log writes the audit entry to stderr in JSON format.

type DynamoDBLogger

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

DynamoDBLogger persists audit entries to DynamoDB.

func NewDynamoDBLogger

func NewDynamoDBLogger(client db.DynamoDBAPI, table string, ttlDays int) *DynamoDBLogger

NewDynamoDBLogger returns a new DynamoDB audit logger.

func (*DynamoDBLogger) Close

func (l *DynamoDBLogger) Close() error

Close is a no-op for the DynamoDB logger.

func (*DynamoDBLogger) Log

func (l *DynamoDBLogger) Log(ctx context.Context, entry *audit.AuditEntry) error

Log writes the audit entry to DynamoDB.

type SQLLogger

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

SQLLogger persists audit entries to a SQL database via GORM.

func NewSQLLogger

func NewSQLLogger(db *gorm.DB) *SQLLogger

NewSQLLogger returns a new SQL audit logger.

func (*SQLLogger) Close

func (l *SQLLogger) Close() error

Close closes the underlying database connection.

func (*SQLLogger) Log

func (l *SQLLogger) Log(ctx context.Context, entry *audit.AuditEntry) error

Log writes the audit entry to the SQL database.

Jump to

Keyboard shortcuts

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