summaryrefslogtreecommitdiff
path: root/libpod/events/events.go
diff options
context:
space:
mode:
authorNiall Crowe <nicrowe@redhat.com>2022-02-25 09:25:30 +0000
committerNiall Crowe <nicrowe@redhat.com>2022-04-14 09:35:29 +0100
commit3da3afa5764bcec2d50b219446579b5770051f32 (patch)
tree66b2319d84d1eac23169b131ddbb96a6e9c3c4b6 /libpod/events/events.go
parent15712c76fb198cec7509ff0cf401e357401d2d7d (diff)
downloadpodman-3da3afa5764bcec2d50b219446579b5770051f32.tar.gz
podman-3da3afa5764bcec2d50b219446579b5770051f32.tar.bz2
podman-3da3afa5764bcec2d50b219446579b5770051f32.zip
Add log rotation based on log size
Add new functions to logfile.go for rotating and truncating the events log file once the log file and its contents exceed the maximum size limit while keeping 50% of the log file's content Also add tests to verify log rotation and truncation Signed-off-by: Niall Crowe <nicrowe@redhat.com> Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
Diffstat (limited to 'libpod/events/events.go')
-rw-r--r--libpod/events/events.go21
1 files changed, 7 insertions, 14 deletions
diff --git a/libpod/events/events.go b/libpod/events/events.go
index 2cdd2ab67..1745095fb 100644
--- a/libpod/events/events.go
+++ b/libpod/events/events.go
@@ -3,11 +3,9 @@ package events
import (
"encoding/json"
"fmt"
- "os"
"time"
"github.com/containers/storage/pkg/stringid"
- "github.com/nxadm/tail"
"github.com/pkg/errors"
)
@@ -87,7 +85,11 @@ func (e *Event) ToHumanReadable(truncate bool) string {
case Image:
humanFormat = fmt.Sprintf("%s %s %s %s %s", e.Time, e.Type, e.Status, id, e.Name)
case System:
- humanFormat = fmt.Sprintf("%s %s %s", e.Time, e.Type, e.Status)
+ if e.Name != "" {
+ humanFormat = fmt.Sprintf("%s %s %s %s", e.Time, e.Type, e.Status, e.Name)
+ } else {
+ humanFormat = fmt.Sprintf("%s %s %s", e.Time, e.Type, e.Status)
+ }
case Volume:
humanFormat = fmt.Sprintf("%s %s %s %s", e.Time, e.Type, e.Status, e.Name)
}
@@ -196,6 +198,8 @@ func StringToStatus(name string) (Status, error) {
return Restart, nil
case Restore.String():
return Restore, nil
+ case Rotate.String():
+ return Rotate, nil
case Save.String():
return Save, nil
case Start.String():
@@ -215,14 +219,3 @@ func StringToStatus(name string) (Status, error) {
}
return "", errors.Errorf("unknown event status %q", name)
}
-
-func (e EventLogFile) getTail(options ReadOptions) (*tail.Tail, error) {
- reopen := true
- seek := tail.SeekInfo{Offset: 0, Whence: os.SEEK_END}
- if options.FromStart || !options.Stream {
- seek.Whence = 0
- reopen = false
- }
- stream := options.Stream
- return tail.TailFile(e.options.LogFilePath, tail.Config{ReOpen: reopen, Follow: stream, Location: &seek, Logger: tail.DiscardingLogger, Poll: true})
-}