mirror of
https://github.com/containers/podman.git
synced 2025-12-02 19:28:58 +08:00
Merge pull request #24665 from ksw2000/refactor-eventer-type
refact: EventerType and improve consistency
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user