Files
podman/libpod/events/events_linux.go
Matthew Heon cdd5639d56 Expose Null eventer and allow its use in the Podman CLI
We need this specifically for tests, but others may find it
useful if they don't explicitly need events and don't want the
performance implications of using them.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-07-31 17:28:42 -04:00

28 lines
778 B
Go

package events
import (
"strings"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
)
// NewEventer creates an eventer based on the eventer type
func NewEventer(options EventerOptions) (eventer Eventer, err error) {
logrus.Debugf("Initializing event backend %s", options.EventerType)
switch strings.ToUpper(options.EventerType) {
case strings.ToUpper(Journald.String()):
eventer, err = newEventJournalD(options)
if err != nil {
return nil, errors.Wrapf(err, "eventer creation")
}
case strings.ToUpper(LogFile.String()):
eventer = EventLogFile{options}
case strings.ToUpper(Null.String()):
eventer = NewNullEventer()
default:
return nil, errors.Errorf("unknown event logger type: %s", strings.ToUpper(options.EventerType))
}
return eventer, nil
}