Documentation ¶
Overview ¶
Package ibento
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Log ¶
type Log struct {
// contains filtered or unexported fields
}
Log represents an readonly and append-only log of events
func Open ¶
Open opens a new event log.
Example ¶
dir, err := ioutil.TempDir("", "*") if err != nil { fmt.Println(err) return } defer os.RemoveAll(dir) log, err := Open(dir) if err != nil { fmt.Println(err) return } defer log.Close() // don't forget to close when done fmt.Println("opened")
Output: opened
Example (CustomOptions) ¶
logger, err := zap.NewDevelopment() if err != nil { fmt.Println(err) return } dir, err := ioutil.TempDir("", "*") if err != nil { fmt.Println(err) return } defer os.RemoveAll(dir) log, err := Open(dir, WithLogger(logger)) if err != nil { fmt.Println(err) return } defer log.Close() // don't forget to close when done fmt.Println("opened")
Output: opened
func (*Log) Append ¶
Append will add the given event to the end of a Log.
Example ¶
dir, err := ioutil.TempDir("", "*") if err != nil { fmt.Println(err) return } defer os.RemoveAll(dir) log, err := Open(dir) if err != nil { fmt.Println(err) return } defer log.Close() // don't forget to close when done ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() ev := event.New() ev.SetSource("example") ev.SetID("1") ev.SetType("example") err = log.Append(ctx, ev) fmt.Println(err)
Output: <nil>
func (*Log) Iterator ¶
Iterator initializes a new iterator over the event log.
Example ¶
dir, err := ioutil.TempDir("", "*") if err != nil { fmt.Println(err) return } defer os.RemoveAll(dir) eventlog, err := Open(dir) if err != nil { fmt.Println(err) return } defer eventlog.Close() // don't forget to close when done ev1 := event.New() ev1.SetID("1234") ev1.SetType("test") ev1.SetSource("test") err = eventlog.Append(context.Background(), ev1) if err != nil { fmt.Println(err) return } ev2 := event.New() ev2.SetID("4321") ev2.SetType("test") ev2.SetSource("test") err = eventlog.Append(context.Background(), ev2) if err != nil { fmt.Println(err) return } numOfEvents := 0 err = eventlog. Iterator(). Consume(func(e *event.Event) error { numOfEvents += 1 return nil }) if err != nil { fmt.Println(err) return } fmt.Println(numOfEvents)
Output: 2
type Notification ¶
Notification represents that an event has been appended to the Log.
type Option ¶
type Option func(*logOptions)
Option is a type which helps override the default Log configuration.
type ValidationError ¶
type ValidationError struct {
Cause error
}
ValidationError represents that an invalid parameter was provided to a method or function.
func (ValidationError) Error ¶
func (e ValidationError) Error() string
Error implements the error interface.
Click to show internal directories.
Click to hide internal directories.