diff --git a/cmd/dockerd/docker.go b/cmd/dockerd/docker.go index 3c594a0878..da11a0cfdd 100644 --- a/cmd/dockerd/docker.go +++ b/cmd/dockerd/docker.go @@ -87,6 +87,7 @@ func main() { _, stdout, stderr := term.StdStreams() initLogging(stdout, stderr) + configureGRPCLog() onError := func(err error) { fmt.Fprintf(stderr, "%s\n", err) diff --git a/cmd/dockerd/grpclog.go b/cmd/dockerd/grpclog.go new file mode 100644 index 0000000000..2d726c7f76 --- /dev/null +++ b/cmd/dockerd/grpclog.go @@ -0,0 +1,17 @@ +package main + +import ( + "github.com/sirupsen/logrus" + "google.golang.org/grpc/grpclog" +) + +// grpc's default logger is *very* noisy and uses "info" and even "warn" level logging for mostly useless messages. +// This function configures the grpc logger to step down the severity of all messages. +// +// info => trace +// warn => debug +// error => warn +func configureGRPCLog() { + l := logrus.WithField("library", "grpc") + grpclog.SetLoggerV2(grpclog.NewLoggerV2(l.WriterLevel(logrus.TraceLevel), l.WriterLevel(logrus.DebugLevel), l.WriterLevel(logrus.WarnLevel))) +}