diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-10-31 22:05:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-31 22:05:17 +0100 |
commit | 2dae2577ccbeef502a8783c892a6c9e346153532 (patch) | |
tree | 34bc708c058597eb0e9c82f4cdbc6e308d6b4497 /libpod | |
parent | 0bfdeae6ddfab22990eaa472317d65e79a222db3 (diff) | |
parent | 11750df51015a675c1145982847e08397c7606ea (diff) | |
download | podman-2dae2577ccbeef502a8783c892a6c9e346153532.tar.gz podman-2dae2577ccbeef502a8783c892a6c9e346153532.tar.bz2 podman-2dae2577ccbeef502a8783c892a6c9e346153532.zip |
Merge pull request #4399 from giuseppe/tail-0
logs: support --tail 0
Diffstat (limited to 'libpod')
-rw-r--r-- | libpod/container_log_linux.go | 9 | ||||
-rw-r--r-- | libpod/logs/log.go | 6 |
2 files changed, 11 insertions, 4 deletions
diff --git a/libpod/container_log_linux.go b/libpod/container_log_linux.go index 8a87a8796..c4acc3d4f 100644 --- a/libpod/container_log_linux.go +++ b/libpod/container_log_linux.go @@ -6,6 +6,7 @@ package libpod import ( "fmt" "io" + "math" "strings" "time" @@ -30,7 +31,11 @@ const ( func (c *Container) readFromJournal(options *logs.LogOptions, logChannel chan *logs.LogLine) error { var config journal.JournalReaderConfig - config.NumFromTail = options.Tail + if options.Tail < 0 { + config.NumFromTail = math.MaxUint64 + } else { + config.NumFromTail = uint64(options.Tail) + } config.Formatter = journalFormatter defaultTime := time.Time{} if options.Since != defaultTime { @@ -54,7 +59,7 @@ func (c *Container) readFromJournal(options *logs.LogOptions, logChannel chan *l if r == nil { return errors.Errorf("journal reader creation failed") } - if options.Tail == 0 { + if options.Tail == math.MaxInt64 { r.Rewind() } diff --git a/libpod/logs/log.go b/libpod/logs/log.go index 0b1703567..0330df06a 100644 --- a/libpod/logs/log.go +++ b/libpod/logs/log.go @@ -31,7 +31,7 @@ type LogOptions struct { Details bool Follow bool Since time.Time - Tail uint64 + Tail int64 Timestamps bool Multi bool WaitGroup *sync.WaitGroup @@ -54,8 +54,10 @@ func GetLogFile(path string, options *LogOptions) (*tail.Tail, []*LogLine, error logTail []*LogLine ) // whence 0=origin, 2=end - if options.Tail > 0 { + if options.Tail >= 0 { whence = 2 + } + if options.Tail > 0 { logTail, err = getTailLog(path, int(options.Tail)) if err != nil { return nil, nil, err |