watch-tool/storage_interface.go

31 lines
615 B
Go

package main
import (
"context"
"time"
)
type StorageInterface interface {
Store(ctx context.Context, entry *LogEntry) error
StoreBatch(ctx context.Context, entries []LogEntry) error
Query(ctx context.Context, query StorageQuery) ([]LogEntry, error)
Close() error
}
type StorageQuery struct {
StartTime time.Time
EndTime time.Time
Service string
Tool string
LogLevel string
Type string
Limit int
Offset int
OrderBy string
OrderDesc bool
}
type ExporterInterface interface {
Export(ctx context.Context, entries []LogEntry) error
HealthCheck(ctx context.Context) error
}