Introduce --previous option to kubectl log
This commit is contained in:
parent
35c644a45f
commit
ecaf0874b2
@ -404,6 +404,8 @@ _kubectl_log()
|
|||||||
flags+=("--help")
|
flags+=("--help")
|
||||||
flags+=("-h")
|
flags+=("-h")
|
||||||
flags+=("--interactive")
|
flags+=("--interactive")
|
||||||
|
flags+=("--previous")
|
||||||
|
flags+=("-p")
|
||||||
|
|
||||||
must_have_one_flag=()
|
must_have_one_flag=()
|
||||||
must_have_one_noun=()
|
must_have_one_noun=()
|
||||||
|
@ -8,7 +8,7 @@ Print the logs for a container in a pod.
|
|||||||
Print the logs for a container in a pod. If the pod has only one container, the container name is optional.
|
Print the logs for a container in a pod. If the pod has only one container, the container name is optional.
|
||||||
|
|
||||||
```
|
```
|
||||||
kubectl log [-f] POD [CONTAINER]
|
kubectl log [-f] [-p] POD [CONTAINER]
|
||||||
```
|
```
|
||||||
|
|
||||||
### Examples
|
### Examples
|
||||||
@ -17,6 +17,9 @@ kubectl log [-f] POD [CONTAINER]
|
|||||||
// Returns snapshot of ruby-container logs from pod 123456-7890.
|
// Returns snapshot of ruby-container logs from pod 123456-7890.
|
||||||
$ kubectl log 123456-7890 ruby-container
|
$ kubectl log 123456-7890 ruby-container
|
||||||
|
|
||||||
|
// Returns snapshot of previous terminated ruby-container logs from pod 123456-7890.
|
||||||
|
$ kubectl log -p 123456-7890 ruby-container
|
||||||
|
|
||||||
// Starts streaming of ruby-container logs from pod 123456-7890.
|
// Starts streaming of ruby-container logs from pod 123456-7890.
|
||||||
$ kubectl log -f 123456-7890 ruby-container
|
$ kubectl log -f 123456-7890 ruby-container
|
||||||
```
|
```
|
||||||
@ -27,6 +30,7 @@ $ kubectl log -f 123456-7890 ruby-container
|
|||||||
-f, --follow=false: Specify if the logs should be streamed.
|
-f, --follow=false: Specify if the logs should be streamed.
|
||||||
-h, --help=false: help for log
|
-h, --help=false: help for log
|
||||||
--interactive=true: If true, prompt the user for input when required. Default true.
|
--interactive=true: If true, prompt the user for input when required. Default true.
|
||||||
|
-p, --previous=false: If true, print the logs for the previous instance of the container in a pod if it exists.
|
||||||
```
|
```
|
||||||
|
|
||||||
### Options inherited from parent commands
|
### Options inherited from parent commands
|
||||||
|
@ -29,6 +29,10 @@ Print the logs for a container in a pod. If the pod has only one container, the
|
|||||||
\fB\-\-interactive\fP=true
|
\fB\-\-interactive\fP=true
|
||||||
If true, prompt the user for input when required. Default true.
|
If true, prompt the user for input when required. Default true.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
\fB\-p\fP, \fB\-\-previous\fP=false
|
||||||
|
If true, print the logs for the previous instance of the container in a pod if it exists.
|
||||||
|
|
||||||
|
|
||||||
.SH OPTIONS INHERITED FROM PARENT COMMANDS
|
.SH OPTIONS INHERITED FROM PARENT COMMANDS
|
||||||
.PP
|
.PP
|
||||||
@ -140,6 +144,9 @@ Print the logs for a container in a pod. If the pod has only one container, the
|
|||||||
// Returns snapshot of ruby\-container logs from pod 123456\-7890.
|
// Returns snapshot of ruby\-container logs from pod 123456\-7890.
|
||||||
$ kubectl log 123456\-7890 ruby\-container
|
$ kubectl log 123456\-7890 ruby\-container
|
||||||
|
|
||||||
|
// Returns snapshot of previous terminated ruby\-container logs from pod 123456\-7890.
|
||||||
|
$ kubectl log \-p 123456\-7890 ruby\-container
|
||||||
|
|
||||||
// Starts streaming of ruby\-container logs from pod 123456\-7890.
|
// Starts streaming of ruby\-container logs from pod 123456\-7890.
|
||||||
$ kubectl log \-f 123456\-7890 ruby\-container
|
$ kubectl log \-f 123456\-7890 ruby\-container
|
||||||
|
|
||||||
|
@ -31,6 +31,9 @@ const (
|
|||||||
log_example = `// Returns snapshot of ruby-container logs from pod 123456-7890.
|
log_example = `// Returns snapshot of ruby-container logs from pod 123456-7890.
|
||||||
$ kubectl log 123456-7890 ruby-container
|
$ kubectl log 123456-7890 ruby-container
|
||||||
|
|
||||||
|
// Returns snapshot of previous terminated ruby-container logs from pod 123456-7890.
|
||||||
|
$ kubectl log -p 123456-7890 ruby-container
|
||||||
|
|
||||||
// Starts streaming of ruby-container logs from pod 123456-7890.
|
// Starts streaming of ruby-container logs from pod 123456-7890.
|
||||||
$ kubectl log -f 123456-7890 ruby-container`
|
$ kubectl log -f 123456-7890 ruby-container`
|
||||||
)
|
)
|
||||||
@ -60,7 +63,7 @@ func selectContainer(pod *api.Pod, in io.Reader, out io.Writer) string {
|
|||||||
// NewCmdLog creates a new pod log command
|
// NewCmdLog creates a new pod log command
|
||||||
func NewCmdLog(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
func NewCmdLog(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "log [-f] POD [CONTAINER]",
|
Use: "log [-f] [-p] POD [CONTAINER]",
|
||||||
Short: "Print the logs for a container in a pod.",
|
Short: "Print the logs for a container in a pod.",
|
||||||
Long: "Print the logs for a container in a pod. If the pod has only one container, the container name is optional.",
|
Long: "Print the logs for a container in a pod. If the pod has only one container, the container name is optional.",
|
||||||
Example: log_example,
|
Example: log_example,
|
||||||
@ -71,6 +74,7 @@ func NewCmdLog(f *cmdutil.Factory, out io.Writer) *cobra.Command {
|
|||||||
}
|
}
|
||||||
cmd.Flags().BoolP("follow", "f", false, "Specify if the logs should be streamed.")
|
cmd.Flags().BoolP("follow", "f", false, "Specify if the logs should be streamed.")
|
||||||
cmd.Flags().Bool("interactive", true, "If true, prompt the user for input when required. Default true.")
|
cmd.Flags().Bool("interactive", true, "If true, prompt the user for input when required. Default true.")
|
||||||
|
cmd.Flags().BoolP("previous", "p", false, "If true, print the logs for the previous instance of the container in a pod if it exists.")
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -115,6 +119,11 @@ func RunLog(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string
|
|||||||
follow = true
|
follow = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
previous := false
|
||||||
|
if cmdutil.GetFlagBool(cmd, "previous") {
|
||||||
|
previous = true
|
||||||
|
}
|
||||||
|
|
||||||
readCloser, err := client.RESTClient.Get().
|
readCloser, err := client.RESTClient.Get().
|
||||||
Namespace(namespace).
|
Namespace(namespace).
|
||||||
Name(podID).
|
Name(podID).
|
||||||
@ -122,6 +131,7 @@ func RunLog(f *cmdutil.Factory, out io.Writer, cmd *cobra.Command, args []string
|
|||||||
SubResource("log").
|
SubResource("log").
|
||||||
Param("follow", strconv.FormatBool(follow)).
|
Param("follow", strconv.FormatBool(follow)).
|
||||||
Param("container", container).
|
Param("container", container).
|
||||||
|
Param("previous", strconv.FormatBool(previous)).
|
||||||
Stream()
|
Stream()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
Loading…
Reference in New Issue
Block a user