Skip to content

Commit

Permalink
Add the names flag for pod logs
Browse files Browse the repository at this point in the history
Fixes containers#13261

Signed-off-by: Xueyuan Chen <X.Chen-47@student.tudelft.nl>
  • Loading branch information
keonchennl committed Feb 27, 2022
1 parent 988190d commit 86f03d9
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 1 deletion.
1 change: 1 addition & 0 deletions cmd/podman/pods/logs.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ func logsFlags(cmd *cobra.Command) {
flags.Int64Var(&logsPodOptions.Tail, tailFlagName, -1, "Output the specified number of LINES at the end of the logs.")
_ = cmd.RegisterFlagCompletionFunc(tailFlagName, completion.AutocompleteNone)

flags.BoolVarP(&logsPodOptions.Names, "names", "n", false, "Output container names instead of container IDs in the log")
flags.BoolVarP(&logsPodOptions.Timestamps, "timestamps", "t", false, "Output the timestamps in the log")
flags.SetInterspersed(false)
_ = flags.MarkHidden("details")
Expand Down
4 changes: 4 additions & 0 deletions docs/source/markdown/podman-pod-logs.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ chance that the log file will be removed before `podman pod logs` reads the fina

Instead of providing the pod name or id, get logs of the last created pod. (This option is not available with the remote Podman client, including Mac and Windows (excluding WSL2) machines)

#### **--names**, **-n**

Output the container names instead of the container IDs in the log

#### **--since**=*TIMESTAMP*

Show logs since TIMESTAMP. The --since option can be Unix timestamps, date formatted timestamps, or Go duration
Expand Down
31 changes: 30 additions & 1 deletion test/e2e/logs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,9 @@ var _ = Describe("Podman logs", func() {
}
podmanTest = PodmanTestCreate(tempdir)
podmanTest.Setup()
podmanTest.SeedImages()
if err := podmanTest.SeedImages(); err != nil {
os.Exit(1)
}
})

AfterEach(func() {
Expand Down Expand Up @@ -412,4 +414,31 @@ var _ = Describe("Podman logs", func() {
logs.WaitWithDefaultTimeout()
Expect(logs).To(Not(Exit(0)))
})

FIt("podman pod logs with container names", func() {
podName := "test-pod"
containerName1 := "container-1"
containerName2 := "container-2"

testPod := podmanTest.Podman([]string{"pod", "create", fmt.Sprintf("--name=%s", podName)})
testPod.WaitWithDefaultTimeout()
Expect(testPod).To(Exit(0))

log1 := podmanTest.Podman([]string{"run", "--name", containerName1, "-d", "--pod", podName, BB, "/bin/sh", "-c", "echo podman"})
log1.WaitWithDefaultTimeout()
Expect(log1).To(Exit(0))

log2 := podmanTest.Podman([]string{"run", "--name", containerName2, "-d", "--pod", podName, BB, "/bin/sh", "-c", "echo podman"})
log2.WaitWithDefaultTimeout()
Expect(log2).To(Exit(0))

results := podmanTest.Podman([]string{"pod", "logs", "--names", podName})
results.WaitWithDefaultTimeout()
Expect(results).To(Exit(0))

output := results.OutputToStringArray()
Expect(output).To(HaveLen(2))
Expect(output).To(ContainElement(ContainSubstring(containerName1)))
Expect(output).To(ContainElement(ContainSubstring(containerName2)))
})
})

0 comments on commit 86f03d9

Please sign in to comment.