From 90441677ad005d37494156d31c1c842ffb046987 Mon Sep 17 00:00:00 2001 From: Ian Cottrell Date: Fri, 10 May 2019 18:50:29 -0400 Subject: [PATCH] internal/lsp: suppress info and default logging unless a verbose flag is supplied Change-Id: Ib4bf2a47cad4151b4b64d922855013b22b4fbb15 Reviewed-on: https://go-review.googlesource.com/c/tools/+/176641 Reviewed-by: Rebecca Stambler --- internal/lsp/cmd/cmd.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/internal/lsp/cmd/cmd.go b/internal/lsp/cmd/cmd.go index e4a8da53..f1baea7d 100644 --- a/internal/lsp/cmd/cmd.go +++ b/internal/lsp/cmd/cmd.go @@ -47,6 +47,9 @@ type Application struct { // Support for remote lsp server Remote string `flag:"remote" help:"*EXPERIMENTAL* - forward all commands to a remote lsp"` + + // Enable verbose logging + Verbose bool `flag:"v" help:"Verbose output"` } // Name implements tool.Application returning the binary name. @@ -225,11 +228,17 @@ func (c *cmdClient) LogMessage(ctx context.Context, p *protocol.LogMessageParams case protocol.Warning: log.Print("Warning:", p.Message) case protocol.Info: - log.Print("Info:", p.Message) + if c.app.Verbose { + log.Print("Info:", p.Message) + } case protocol.Log: - log.Print("Log:", p.Message) + if c.app.Verbose { + log.Print("Log:", p.Message) + } default: - log.Print(p.Message) + if c.app.Verbose { + log.Print(p.Message) + } } return nil }