summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhijeet Kasurde <akasurde@redhat.com>2020-02-18 16:16:23 +0530
committerAbhijeet Kasurde <akasurde@redhat.com>2020-02-19 16:58:04 +0530
commit88a8d9e3fa19cf16b19716cb03fa457d98056010 (patch)
treef59c42ca52c97008ec2068dbfbebbf40ec1249cf
parent0bd29f89e9d26c9012c76e58050e1bdfd90faaf0 (diff)
downloadpodman-88a8d9e3fa19cf16b19716cb03fa457d98056010.tar.gz
podman-88a8d9e3fa19cf16b19716cb03fa457d98056010.tar.bz2
podman-88a8d9e3fa19cf16b19716cb03fa457d98056010.zip
[WIP] Add cmd flag to show container name in log
This flag allows user to show container name in podman log command Fixes: #4962 Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
-rw-r--r--cmd/podman/cliconfig/config.go1
-rw-r--r--cmd/podman/logs.go3
-rw-r--r--libpod/container.log.go2
-rw-r--r--libpod/logs/log.go15
4 files changed, 17 insertions, 4 deletions
diff --git a/cmd/podman/cliconfig/config.go b/cmd/podman/cliconfig/config.go
index 6bc8aa4a3..d9b42b99f 100644
--- a/cmd/podman/cliconfig/config.go
+++ b/cmd/podman/cliconfig/config.go
@@ -260,6 +260,7 @@ type LogsValues struct {
Tail int64
Timestamps bool
Latest bool
+ UseNames bool
}
type MountValues struct {
diff --git a/cmd/podman/logs.go b/cmd/podman/logs.go
index a2594b5bf..291347adb 100644
--- a/cmd/podman/logs.go
+++ b/cmd/podman/logs.go
@@ -37,6 +37,7 @@ var (
return nil
},
Example: `podman logs ctrID
+ podman logs --names ctrID1 ctrID2
podman logs --tail 2 mywebserver
podman logs --follow=true --since 10m ctrID
podman logs mywebserver mydbserver`,
@@ -54,6 +55,7 @@ func init() {
flags.StringVar(&logsCommand.Since, "since", "", "Show logs since TIMESTAMP")
flags.Int64Var(&logsCommand.Tail, "tail", -1, "Output the specified number of LINES at the end of the logs. Defaults to -1, which prints all lines")
flags.BoolVarP(&logsCommand.Timestamps, "timestamps", "t", false, "Output the timestamps in the log")
+ flags.BoolVarP(&logsCommand.UseNames, "names", "n", false, "Output the container name in the log")
markFlagHidden(flags, "details")
flags.SetInterspersed(false)
@@ -85,6 +87,7 @@ func logsCmd(c *cliconfig.LogsValues) error {
Since: sinceTime,
Tail: c.Tail,
Timestamps: c.Timestamps,
+ UseNames: c.UseNames,
}
return runtime.Log(c, options)
}
diff --git a/libpod/container.log.go b/libpod/container.log.go
index 7c46dde9a..514edb8c8 100644
--- a/libpod/container.log.go
+++ b/libpod/container.log.go
@@ -41,6 +41,7 @@ func (c *Container) readFromLogFile(options *logs.LogOptions, logChannel chan *l
if len(tailLog) > 0 {
for _, nll := range tailLog {
nll.CID = c.ID()
+ nll.CName = c.Name()
if nll.Since(options.Since) {
logChannel <- nll
}
@@ -63,6 +64,7 @@ func (c *Container) readFromLogFile(options *logs.LogOptions, logChannel chan *l
partial = ""
}
nll.CID = c.ID()
+ nll.CName = c.Name()
if nll.Since(options.Since) {
logChannel <- nll
}
diff --git a/libpod/logs/log.go b/libpod/logs/log.go
index 9a7bcb5be..180b3f14b 100644
--- a/libpod/logs/log.go
+++ b/libpod/logs/log.go
@@ -35,6 +35,7 @@ type LogOptions struct {
Timestamps bool
Multi bool
WaitGroup *sync.WaitGroup
+ UseNames bool
}
// LogLine describes the information for each line of a log
@@ -44,6 +45,7 @@ type LogLine struct {
Time time.Time
Msg string
CID string
+ CName string
}
// GetLogFile returns an hp tail for a container given options
@@ -120,11 +122,16 @@ func getTailLog(path string, tail int) ([]*LogLine, error) {
func (l *LogLine) String(options *LogOptions) string {
var out string
if options.Multi {
- cid := l.CID
- if len(cid) > 12 {
- cid = cid[:12]
+ if options.UseNames {
+ cname := l.CName
+ out = fmt.Sprintf("%s ", cname)
+ } else {
+ cid := l.CID
+ if len(cid) > 12 {
+ cid = cid[:12]
+ }
+ out = fmt.Sprintf("%s ", cid)
}
- out = fmt.Sprintf("%s ", cid)
}
if options.Timestamps {
out += fmt.Sprintf("%s ", l.Time.Format(LogTimeFormat))