Implement tail for docker logs
Fixes #4330 Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4) Upstream-commit: 1dc0caf9c0170ab8e7f5a2f77f2dbdacff322eff Component: engine
This commit is contained in:
@ -1693,6 +1693,7 @@ func (cli *DockerCli) CmdLogs(args ...string) error {
|
||||
cmd = cli.Subcmd("logs", "CONTAINER", "Fetch the logs of a container")
|
||||
follow = cmd.Bool([]string{"f", "-follow"}, false, "Follow log output")
|
||||
times = cmd.Bool([]string{"t", "-timestamps"}, false, "Show timestamps")
|
||||
tail = cmd.String([]string{"-tail"}, "all", "Output the specified number of lines at the end of logs(all logs by default)")
|
||||
)
|
||||
|
||||
if err := cmd.Parse(args); err != nil {
|
||||
@ -1726,6 +1727,7 @@ func (cli *DockerCli) CmdLogs(args ...string) error {
|
||||
if *follow {
|
||||
v.Set("follow", "1")
|
||||
}
|
||||
v.Set("tail", *tail)
|
||||
|
||||
return cli.streamHelper("GET", "/containers/"+name+"/logs?"+v.Encode(), env.GetSubEnv("Config").GetBool("Tty"), nil, cli.out, cli.err, nil)
|
||||
}
|
||||
|
||||
@ -378,6 +378,7 @@ func getContainersLogs(eng *engine.Engine, version version.Version, w http.Respo
|
||||
return err
|
||||
}
|
||||
logsJob.Setenv("follow", r.Form.Get("follow"))
|
||||
logsJob.Setenv("tail", r.Form.Get("tail"))
|
||||
logsJob.Setenv("stdout", r.Form.Get("stdout"))
|
||||
logsJob.Setenv("stderr", r.Form.Get("stderr"))
|
||||
logsJob.Setenv("timestamps", r.Form.Get("timestamps"))
|
||||
|
||||
Reference in New Issue
Block a user