mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Return nice client-side message for docker logs
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
This commit is contained in:
parent
cc207aa136
commit
e37e329074
2 changed files with 13 additions and 3 deletions
|
@ -2,6 +2,7 @@ package client
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
"net/url"
|
"net/url"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -11,6 +12,11 @@ import (
|
||||||
"github.com/docker/docker/pkg/timeutils"
|
"github.com/docker/docker/pkg/timeutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var validDrivers = map[string]bool{
|
||||||
|
"json-file": true,
|
||||||
|
"journald": true,
|
||||||
|
}
|
||||||
|
|
||||||
// CmdLogs fetches the logs of a given container.
|
// CmdLogs fetches the logs of a given container.
|
||||||
//
|
//
|
||||||
// docker logs [OPTIONS] CONTAINER
|
// docker logs [OPTIONS] CONTAINER
|
||||||
|
@ -36,6 +42,10 @@ func (cli *DockerCli) CmdLogs(args ...string) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !validDrivers[c.HostConfig.LogConfig.Type] {
|
||||||
|
return fmt.Errorf("\"logs\" command is supported only for \"json-file\" and \"journald\" logging drivers (got: %s)", c.HostConfig.LogConfig.Type)
|
||||||
|
}
|
||||||
|
|
||||||
v := url.Values{}
|
v := url.Values{}
|
||||||
v.Set("stdout", "1")
|
v.Set("stdout", "1")
|
||||||
v.Set("stderr", "1")
|
v.Set("stderr", "1")
|
||||||
|
|
|
@ -1242,10 +1242,10 @@ func (s *DockerDaemonSuite) TestDaemonLoggingDriverNoneLogsError(c *check.C) {
|
||||||
}
|
}
|
||||||
id := strings.TrimSpace(out)
|
id := strings.TrimSpace(out)
|
||||||
out, err = s.d.Cmd("logs", id)
|
out, err = s.d.Cmd("logs", id)
|
||||||
if err != nil {
|
if err == nil {
|
||||||
c.Fatalf("Logs request should be sent and then fail with \"none\" driver")
|
c.Fatalf("Logs should fail with 'none' driver")
|
||||||
}
|
}
|
||||||
if !strings.Contains(out, `Error running logs job: Failed to get logging factory: logger: no log driver named 'none' is registered`) {
|
if !strings.Contains(out, `"logs" command is supported only for "json-file" and "journald" logging drivers (got: none)`) {
|
||||||
c.Fatalf("There should be an error about none not being a recognized log driver, got: %s", out)
|
c.Fatalf("There should be an error about none not being a recognized log driver, got: %s", out)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue