Versions in this module Expand all Collapse all v1 v1.6.5 Oct 7, 2024 Changes in this version + const AuditLogFilterContentType + const AuditLogFilterData + const AuditLogFilterID + const AuditLogFilterLevel_EQ + const AuditLogFilterLevel_GT + const AuditLogFilterLevel_LT + const AuditLogFilterObjectID + const AuditLogFilterTimestamp_EQ + const AuditLogFilterTimestamp_GT + const AuditLogFilterTimestamp_LT + const AuditLogFilterType + const AuditLogFilterUserID + var ErrLogEntryNotFound = errors.New("log entry not found") + var ErrLogsNotReady = errors.New("audit logs app not ready") + var LogUnknownTypes bool = false + func Log(entryType string, level logger.LogLevel, forObject attrs.Definer, ...) (uuid.UUID, error) + func NewAppConfig() django.AppConfig + func RegisterBackend(backend StorageBackend) + func RegisterDefinition(typ string, definition Definition) + func RegisterFilter(filter EntryFilter) + func RegisterFilterForObject(filter EntryFilter, contentType contenttypes.ContentType) + func RegisterHandler(handler EntryHandler) + func RegisterHandlerForObject(handler EntryHandler, contentType contenttypes.ContentType) + func SerializeRow(l LogEntry) (id uuid.UUID, typeStr string, level int, timestamp time.Time, ...) + type AuditLogFilter interface + Is func(string) bool + Name func() string + Value func() []interface{} + func FilterContentType(values ...contenttypes.ContentType) AuditLogFilter + func FilterData(values ...interface{}) AuditLogFilter + func FilterLevelEqual(values ...logger.LogLevel) AuditLogFilter + func FilterLevelGreaterThan(value logger.LogLevel) AuditLogFilter + func FilterLevelLessThan(value logger.LogLevel) AuditLogFilter + func FilterObjectID(values ...interface{}) AuditLogFilter + func FilterTimestampEqual(values ...time.Time) AuditLogFilter + func FilterType(values ...string) AuditLogFilter + func FilterUserID(values ...interface{}) AuditLogFilter + func NewAuditLogFilter(name string, value ...interface{}) AuditLogFilter + type AuditLogs struct + var Logs *AuditLogs = &AuditLogs{ ... } + type BaseAction struct + ActionIcon string + ActionURL string + DisplayLabel string + func (ba *BaseAction) Icon() string + func (ba *BaseAction) Label() string + func (ba *BaseAction) URL() string + type BoundDefinition struct + Definition Definition + Request *http.Request + func Define(r *http.Request, l LogEntry) *BoundDefinition + func (bd BoundDefinition) Actions() []LogEntryAction + func (bd BoundDefinition) Label() string + func (bd BoundDefinition) Message() string + type Definition interface + FormatMessage func(r *http.Request, logEntry LogEntry) string + GetActions func(r *http.Request, logEntry LogEntry) []LogEntryAction + GetLabel func(r *http.Request, logEntry LogEntry) string + func SimpleDefinition() Definition + type Entry struct + CType contenttypes.ContentType + Id uuid.UUID + Lvl logger.LogLevel + Obj interface{} + ObjID interface{} + Src map[string]interface{} + Time time.Time + Typ string + UsrID interface{} + func (l *Entry) ContentType() contenttypes.ContentType + func (l *Entry) Data() map[string]interface{} + func (l *Entry) ID() uuid.UUID + func (l *Entry) Level() logger.LogLevel + func (l *Entry) Object() interface{} + func (l *Entry) ObjectID() interface{} + func (l *Entry) String() string + func (l *Entry) Timestamp() time.Time + func (l *Entry) Type() string + func (l *Entry) UserID() interface{} + type EntryFilter interface + EntryFilter func(message LogEntry) bool + Type func() string + type EntryHandler interface + Handle func(w io.Writer, message LogEntry) error + Type func() string + type LogEntry interface + ContentType func() contenttypes.ContentType + Data func() map[string]interface{} + ID func() uuid.UUID + Level func() logger.LogLevel + ObjectID func() interface{} + Timestamp func() time.Time + Type func() string + UserID func() interface{} + func ScanRow(row interface{ ... }) (LogEntry, error) + type LogEntryAction interface + Icon func() string + Label func() string + URL func() string + type StorageBackend interface + Count func() (int, error) + CountFilter func(filters []AuditLogFilter) (int, error) + EntryFilter func(filters []AuditLogFilter, amount, offset int) ([]LogEntry, error) + Retrieve func(id uuid.UUID) (LogEntry, error) + RetrieveMany func(amount, offset int) ([]LogEntry, error) + Setup func() error + Store func(logEntry LogEntry) (uuid.UUID, error) + StoreMany func(logEntries []LogEntry) ([]uuid.UUID, error) + func Backend() StorageBackend + func NewInMemoryStorageBackend() StorageBackend