diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-03-11 18:04:51 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-11 18:04:51 -0700 |
commit | 300b53cffea54724132028a2a7da5f6c77cd546c (patch) | |
tree | 71d3c99b3342c81a6d70a722879bd9a8a1f1d259 /cmd/podman/events.go | |
parent | dcd253f2e4da25e7e5af33bef4de5529162a7c1b (diff) | |
parent | ca1e76ff632dec0b0e00e25f26677887ca8cc625 (diff) | |
download | podman-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.go | 48 |
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) +} |