Merge pull request #24665 from ksw2000/refactor-eventer-type

refact: EventerType and improve consistency
This commit is contained in:
openshift-merge-bot[bot]
2024-11-25 13:23:40 +00:00
committed by GitHub
6 changed files with 23 additions and 39 deletions

View File

@@ -6,16 +6,17 @@ import (
"time" "time"
) )
// EventerType ... // EventerType describes the type of event logger
type EventerType int // The string values for EventerType should be entirely lowercase.
type EventerType string
const ( const (
// LogFile indicates the event logger will be a logfile // LogFile indicates the event logger will be a logfile
LogFile EventerType = iota LogFile EventerType = "file"
// Journald indicates journald should be used to log events // Journald indicates journald should be used to log events
Journald EventerType = iota Journald EventerType = "journald"
// Null is a no-op events logger. It does not read or write events. // Null is a no-op events logger. It does not read or write events.
Null EventerType = iota Null EventerType = "none"
) )
// Event describes the attributes of a libpod event // Event describes the attributes of a libpod event

View File

@@ -15,26 +15,13 @@ var ErrNoJournaldLogging = errors.New("no support for journald logging")
// String returns a string representation of EventerType // String returns a string representation of EventerType
func (et EventerType) String() string { func (et EventerType) String() string {
switch et { return string(et)
case LogFile:
return "file"
case Journald:
return "journald"
case Null:
return "none"
default:
return "invalid"
}
} }
// IsValidEventer checks if the given string is a valid eventer type. // IsValidEventer checks if the given string is a valid eventer type.
func IsValidEventer(eventer string) bool { func IsValidEventer(eventer string) bool {
switch eventer { switch EventerType(eventer) {
case LogFile.String(): case LogFile, Journald, Null:
return true
case Journald.String():
return true
case Null.String():
return true return true
default: default:
return false return false

View File

@@ -10,12 +10,12 @@ import (
// NewEventer creates an eventer based on the eventer type // NewEventer creates an eventer based on the eventer type
func NewEventer(options EventerOptions) (Eventer, error) { func NewEventer(options EventerOptions) (Eventer, error) {
logrus.Debugf("Initializing event backend %s", options.EventerType) logrus.Debugf("Initializing event backend %s", options.EventerType)
switch strings.ToUpper(options.EventerType) { switch EventerType(strings.ToLower(options.EventerType)) {
case strings.ToUpper(LogFile.String()): case LogFile:
return EventLogFile{options}, nil return EventLogFile{options}, nil
case strings.ToUpper(Null.String()): case Null:
return newNullEventer(), nil return newNullEventer(), nil
default: default:
return nil, fmt.Errorf("unknown event logger type: %s", strings.ToUpper(options.EventerType)) return nil, fmt.Errorf("unknown event logger type: %s", strings.ToLower(options.EventerType))
} }
} }

View File

@@ -10,18 +10,14 @@ import (
// NewEventer creates an eventer based on the eventer type // NewEventer creates an eventer based on the eventer type
func NewEventer(options EventerOptions) (Eventer, error) { func NewEventer(options EventerOptions) (Eventer, error) {
logrus.Debugf("Initializing event backend %s", options.EventerType) logrus.Debugf("Initializing event backend %s", options.EventerType)
switch strings.ToUpper(options.EventerType) { switch EventerType(strings.ToLower(options.EventerType)) {
case strings.ToUpper(Journald.String()): case Journald:
eventer, err := newEventJournalD(options) return newJournalDEventer(options)
if err != nil { case LogFile:
return nil, fmt.Errorf("eventer creation: %w", err)
}
return eventer, nil
case strings.ToUpper(LogFile.String()):
return newLogFileEventer(options) return newLogFileEventer(options)
case strings.ToUpper(Null.String()): case Null:
return newNullEventer(), nil return newNullEventer(), nil
default: default:
return nil, fmt.Errorf("unknown event logger type: %s", strings.ToUpper(options.EventerType)) return nil, fmt.Errorf("unknown event logger type: %s", strings.ToLower(options.EventerType))
} }
} }

View File

@@ -25,8 +25,8 @@ type EventJournalD struct {
options EventerOptions options EventerOptions
} }
// newEventJournalD creates a new journald Eventer // newJournalDEventer creates a new EventJournalD Eventer
func newEventJournalD(options EventerOptions) (Eventer, error) { func newJournalDEventer(options EventerOptions) (Eventer, error) {
return EventJournalD{options}, nil return EventJournalD{options}, nil
} }

View File

@@ -5,7 +5,7 @@ package events
// DefaultEventerType is logfile when systemd is not present // DefaultEventerType is logfile when systemd is not present
const DefaultEventerType = LogFile const DefaultEventerType = LogFile
// newEventJournalD always returns an error if libsystemd not found // newJournalDEventer always returns an error if libsystemd not found
func newEventJournalD(options EventerOptions) (Eventer, error) { func newJournalDEventer(options EventerOptions) (Eventer, error) {
return nil, ErrNoJournaldLogging return nil, ErrNoJournaldLogging
} }