Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // DefaultDisabledEvents lists the journal events disabled by // default, usually because they are considered noisy. DefaultDisabledEvents = DisabledEvents{ EventType{System: "mpool", Event: "add"}, EventType{System: "mpool", Event: "remove"}, } )
Functions ¶
This section is empty.
Types ¶
type DisabledEvents ¶ added in v0.7.1
type DisabledEvents []EventType
DisabledEvents is the set of event types whose journaling is suppressed.
func EnvDisabledEvents ¶ added in v0.9.1
func EnvDisabledEvents() DisabledEvents
func ParseDisabledEvents ¶ added in v0.7.1
func ParseDisabledEvents(s string) (DisabledEvents, error)
ParseDisabledEvents parses a string of the form: "system1:event1,system1:event2[,...]" into a DisabledEvents object, returning an error if the string failed to parse.
It sanitizes strings via strings.TrimSpace.
type Event ¶ added in v0.7.1
Event represents a journal entry.
See godocs on Journal for more information.
type EventType ¶ added in v0.7.1
EventType represents the signature of an event.
func (EventType) Enabled ¶ added in v0.7.1
Enabled returns whether this event type is enabled in the journaling subsystem. Users are advised to check this before actually attempting to add a journal entry, as it helps bypass object construction for events that would be discarded anyway.
All event types are enabled by default, and specific event types can only be disabled at Journal construction time.
type EventTypeRegistry ¶ added in v0.7.1
type EventTypeRegistry interface { // RegisterEventType introduces a new event type to a journal, and // returns an EventType token that components can later use to check whether // journalling for that type is enabled/suppressed, and to tag journal // entries appropriately. RegisterEventType(system, event string) EventType }
EventTypeRegistry is a component that constructs tracked EventType tokens, for usage with a Journal.
func NewEventTypeRegistry ¶ added in v0.7.1
func NewEventTypeRegistry(disabled DisabledEvents) EventTypeRegistry
type Journal ¶
type Journal interface { EventTypeRegistry // RecordEvent records this event to the journal, if and only if the // EventType is enabled. If so, it calls the supplier function to obtain // the payload to record. // // Implementations MUST recover from panics raised by the supplier function. RecordEvent(evtType EventType, supplier func() interface{}) // Close closes this journal for further writing. Close() error }
Journal represents an audit trail of system actions.
Every entry is tagged with a timestamp, a system name, and an event name. The supplied data can be any type, as long as it is JSON serializable, including structs, map[string]interface{}, or primitive types.
For cleanliness and type safety, we recommend to use typed events. See the *Evt struct types in this package for more info.
func NilJournal ¶ added in v0.7.1
func NilJournal() Journal
Directories ¶
Path | Synopsis |
---|---|
Package mockjournal is a generated GoMock package.
|
Package mockjournal is a generated GoMock package. |