summaryrefslogtreecommitdiff
path: root/cmd/podman/events.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-03-11 18:04:51 -0700
committerGitHub <noreply@github.com>2019-03-11 18:04:51 -0700
commit300b53cffea54724132028a2a7da5f6c77cd546c (patch)
tree71d3c99b3342c81a6d70a722879bd9a8a1f1d259 /cmd/podman/events.go
parentdcd253f2e4da25e7e5af33bef4de5529162a7c1b (diff)
parentca1e76ff632dec0b0e00e25f26677887ca8cc625 (diff)
downloadpodman-300b53cffea54724132028a2a7da5f6c77cd546c.tar.gz
podman-300b53cffea54724132028a2a7da5f6c77cd546c.tar.bz2
podman-300b53cffea54724132028a2a7da5f6c77cd546c.zip
Merge pull request #2527 from baude/events
Add event logging to libpod, even display to podman
Diffstat (limited to 'cmd/podman/events.go')
-rw-r--r--cmd/podman/events.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/cmd/podman/events.go b/cmd/podman/events.go
new file mode 100644
index 000000000..dda9a03f9
--- /dev/null
+++ b/cmd/podman/events.go
@@ -0,0 +1,48 @@
+package main
+
+import (
+ "github.com/containers/libpod/cmd/podman/cliconfig"
+ "github.com/containers/libpod/pkg/adapter"
+ "github.com/pkg/errors"
+ "github.com/spf13/cobra"
+)
+
+var (
+ eventsCommand cliconfig.EventValues
+ eventsDescription = "Monitor podman events"
+ _eventsCommand = &cobra.Command{
+ Use: "events [flags]",
+ Short: "show podman events",
+ Long: eventsDescription,
+ RunE: func(cmd *cobra.Command, args []string) error {
+ eventsCommand.InputArgs = args
+ eventsCommand.GlobalFlags = MainGlobalOpts
+ return eventsCmd(&eventsCommand)
+ },
+ Example: `podman events
+ podman events --filter event=create
+ podman events --since 1h30s`,
+ }
+)
+
+func init() {
+ eventsCommand.Command = _eventsCommand
+ eventsCommand.SetUsageTemplate(UsageTemplate())
+ flags := eventsCommand.Flags()
+ flags.StringArrayVar(&eventsCommand.Filter, "filter", []string{}, "filter output")
+ flags.StringVar(&eventsCommand.Format, "format", "", "format the output using a Go template")
+ flags.BoolVar(&eventsCommand.Stream, "stream", true, "stream new events; for testing only")
+ flags.StringVar(&eventsCommand.Since, "since", "", "show all events created since timestamp")
+ flags.StringVar(&eventsCommand.Until, "until", "", "show all events until timestamp")
+ flags.MarkHidden("stream")
+}
+
+func eventsCmd(c *cliconfig.EventValues) error {
+ runtime, err := adapter.GetRuntime(&c.PodmanCommand)
+ if err != nil {
+ return errors.Wrapf(err, "error creating libpod runtime")
+ }
+ defer runtime.Shutdown(false)
+
+ return runtime.Events(c)
+}